B
    0dM              ^  @   s\#  d dl Zd dlZdd Zdd Zddgddddgdddddddgdddddddddddgddddddddddddddddgddddddd	d	d	d
d
d
d
d	d	d	ddddddgddddddd	d
d
dddddddddddd
d
d	ddddddgddddddd	d
dddddddddddddddddddddd
d	ddddddg%ddddddd	d
ddddddddddddddddddddddddddddddd
d	ddddddg.ddddddd	d
dddddddddddddd d!d"d#d$d$d%d%d$d$d#d"d!d dddddddddddddd
d	ddddddg8ddddddd	d
dddddd&ddd'd(d)d!d$d*d+d,d-d.d/d0d1d2d3d4d4d5d4d4d3d2d1d0d/d.d-d,d+d*d$d!d)d(d'ddd&dddddd
d	ddddddgCddddddd	d
ddddddddddd"d%d6d7d.d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdGdFdEdDdCdBdAd@d?d>d=d<d;d:d9d8d.d7d6d%d"ddddddddddd
d	ddddddgOddddddd	d
dddddddd'dd d$dIdJdKd1dLdMdNdOd@dBdEdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d_d^d]d\d[dZdYdXdWdVdUdTdSdRdQdPdEdBd@dOdNdMdLd1dKdJdId$d dd'dddddddd
d	ddddddg\ddddddd	d
dddddddd`dad!dbdcddd0d5dMd=dedfdFdgdhdidjdkdYdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~d~d}d|d{dzdydxdwdvdudtdsdrdqdpdodndmdldYdkdjdidhdgdFdfded=dMd5d0dddcdbd!dad`dddddddd
d	ddddddgjddddddd	d
dddddddddd"d*d,dKd2dddddFddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddFddddd2dKd,d*d"dddddddddd
d	ddddddgyddddddd	d
ddddddddd)ddId7d/d4dMddddddddddddddd}dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd}dddddddddddddddMd4d/d7dIdd)ddddddddd
d	ddddddgddddddd	d
ddddddddd)d#d6dd8dLdd>dAdGdQdddddddddddddddddddddddddddddddddddddddddddddddddd d ddddddddddddddddddddddddddddddddddddddddddddddddddQdGdAd>ddLd8dd6d#d)ddddddddd
d	ddddddgddddddd	d
ddddddddd)d#d+d-d0dd<ddddhddWddddrdddܐd	d
ddddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d9d8d7d6d5d4d3d2d1d0d/d.d-d,d+d*d)d(d'd&d%d$d#d"d!d ddddddddddddddddddddddd
d	dܐdddrddddWddhdddd<dd0d-d+d#d)ddddddddd
d	ddddddgddddddd	d
ddddddddd)d#d+ddd:d;d<dedCdd=djd>d?ddd@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d*d,d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d|d{dzdydxdwdvdudtdsdrdqdpdodndmdldkdjdidhdgdfdedddcdbdad`d_d^d,d*d]d\d[dZdYdXdWdVdUdTdSdRdQdPdOdNdMdLdKdJdIdHdGdFdEdDdCdBdAd@ddd?d>djd=ddCded<d;d:ddd+d#d)ddddddddd
d	ddddddgddddddd	d
ddddddddd)d#d+ddd1ddNd~ddddddmddddddddddddddddddddddddddd[dddddddddddddddddddddddddddddddddddddddddddÐdĐdŐdƐdǐdȐdɐdȐdǐdƐdŐdĐdÐddddddddddddddddddddddddddddddddddddddddddd[dddddddddddddddddddddddddddmdddddd~dNdd1ddd+d#d)ddddddddd
d	ddddddgddddddd	d
ddddddddd)d#d+ddd1dʐdːd̐dddSdVddΐdϐdАdd|ddސddddԐdՐd֐dאdؐdِdڐdېdܐdݐdddߐddddddddddddddddddddddddddddddddd ddddddddd	d
ddddddddddddddddddddddddddddddddddddddddddd
d	ddddddddd dddddddddddddddddddddddddddddddddddސdݐdܐdېdڐdِdؐdאd֐dՐdddӐddސdd|dѐdАdϐdddVdSdd͐d̐dːdd1ddd+d#d)ddddddddd
d	ddddddgddddddd	d
ddddddddd)d#d+ddd1dd=dd d!did"d#d$d%dsd&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKddLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdldmdndodpdqdrdsdtdudvdwdxdydzd{d|d}d~ddddddddddd~d}d|d{dzdydxdwdvdudtdsdrdqdpdodndmdldkdjdidhdgdfdedddcdbdad`d_d^d]d\d[dZdYdXdWdVdUdTdSdRdQdPdOdNdMdLddKdJdIdHdGdFdEdDdCdBdAd@d?d>d=d<d;d:d9d8d7d6d5d4d3d2d1d0d/d.d-d,d+d*d)d(d'd&dsd%d$d#d"did!d dd=dd1ddd+d#d)ddddddddd
d	ddddddgddddddd	d
ddddddddd)d#d+ddd1dd=d@dEdQddkd\dnddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddÐdĐdŐdƐdǐdȐdɐdʐdːd̐d͐dΐdϐdАdѐdҐdӐdԐdՐd֐dאdؐdِdڐdېdܐdݐdސdߐddddddddddddddddddddddddddddddddddߐdސdݐdܐdېdڐdِdؐdאd֐dՐdԐdӐdҐdѐdАdϐdΐd͐d̐dːdʐdɐdȐdǐdƐdŐdĐdÐddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddnd\dkddQdEd@d=dd1ddd+d#d)ddddddddd
d	ddddddgddddddd	d
ddddddddd)d#d+ddd1dd=d@dFdddWdddddddddddddddd ddddddddd	d
dddddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0d1d2d3d4d5d6d7d8d9d:d;d<d=d>d?d@dAdBdCdDdEdFdGdHdIdJdKdLdMdNdOdPdQdRdSdTdUdVdWdXdYdZd[d\d]d^d_d`dadbdcdddedfdgdhdidjdkdjdidhdgdfdedddcdbdad`d_d^d]d\d[dZdYdXdWdVdUdTdSdRdQdPdOdNdMdLdKdJdIdHdGdFdEdDdCdBdAd@d?d>d=d<d;d:d9d8d7d6d5d4d3d2d1d0d/d.d-d,d+d*d)d(d'd&d%d$d#d"d!d dddddddddddddddddddddd
d	ddddddddd ddddddddddddddddWdddFd@d=dd1ddd+d#d)ddddddddd
d	ddddddg-ddddddd	d
ddddddddd)d#d+ddd1dd=d@dFdldmdnd^dodqddpdqdrdsdtdudvdJdwdxdydzd{d|d}d~dddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddÐdĐdŐdƐdǐdȐdɐdʐdːd̐d͐dΐdϐdАdѐdҐdӐdԐdՐd֐dאdؐdِdڐdېdܐdݐdސdߐdddddddddddddddddddddddddddddddddddddߐdސdݐdܐdېdڐdِdؐdאd֐dՐdԐdӐdҐdѐdАdϐdΐd͐d̐dːdʐdɐdȐdǐdƐdŐdĐdÐddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddd~d}d|d{dzdydxdwdJdvdudtdsdrdqdpddqdod^dndmdldFd@d=dd1ddd+d#d)ddddddddd
d	ddddddgFdZdS (      Nc       
      C   s   i }xt d| d D ]}g }t|d }||d  d }xHtjd|dD ]6}|d dkrJt|| }|| |||  qJW tj|dd\}}	t|	||< qW |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)Zreturn_counts)	rangenparange	itertoolsproductsumappenduniquelist)
Nres_dictnresranksMxrank_sum_Zcnt r   L/var/www/html/venv/lib/python3.7/site-packages/scipy/stats/_wilcoxon_data.py_generate_wilcoxon_exact_table   s    
r   c             C   s   i }xt d| d D ]}t|d }t||d  d }tj|d td}xDtjd|dD ]2}|d dkr\tt|| }||  d7  < q\W t|t	| ||< qW |S )zo
    Same functionality as _generate_wilcoxon_exact_table, but about 20% faster,
    but harder to follow.
    r   r   )Zdtype)r   r   )r   r   )
r   r   r   intZ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                     	   
                                                   !   #   $   &   '   (                +   .   1   5   8   ;   >   @   B   D   E   F   -   3   =   C   H   N   T   Y   ^   d   h   l   q   s   v   y   z   {   |   ,   2   9   G   O   W   _                                                         )   /   6   c   n                           i  i  i!  i.  i;  iH  iS  i^  ii  iq  iy  i  i  i  i  i  K   U   a   m                        i  i  i4  iJ  ia  iz  i  i  i  i  i  i	  i  i4  iJ  i]  ip  i  i  i  i  i  i  i  i  i  i  %   Z   g   u                     i  i2  iN  im  i  i  i  i  i<  ib  i  i  i  i  i(  iP  iw  i  i  i  i  i1  iQ  iq  i  i  i  i  i  i  i
  i  i  i!  i"  4   R                  i  i7  iW  i  i  i  iL  i}  i  i  iX  i  i  iM  i  i  iV  i  i  i   ic  i  i  i$  i`  i  i  i	  i<  im  i  i  i  i	  i"	  i;	  iM	  i[	  if	  ij	  I   p            i  iR  iw  i  i  i.  ie  i  i  ia  i  i  iE  i  i  iI  i  i  ij  i  i:  i  i  i  i  ia	  i	  iF
  i
  i,  i  i  i{  i  iO  i  i  ix  i  i*  i{  i  i  iN  i  i  i  i  i+  iB  iS  iY  ?   J   V            i@  ih  i  i  i  i)  ic  i  i  i/  i~  i  i)  i  i  iU  i  i:  i  i6  i  iG  i  iq	  i
  i
  iU  i  i  ic  i  iP  i  i  i  i]  i!  i  i  id  i  i  i  i>  i  i  i.  i  iW  i  i^  i  i>  i  i  iD  i  i  i  i   i   i   e            i)  iO  i  i  i  iO  i  i&  iy  i  i4  i  i  i  i  i  i  i  iS  i  i	  il
  i1  i  i  i  i  i  i  i  i  i  i  i*  i]  i  i  i  ia  i  i  iK!  i"  i#  i@%  i&  i'  i*)  ip*  i+  i,  i$.  iQ/  iw0  i1  i2  i3  i4  i5  ii6  i67  i7  i8  iC9  i9  iM:  i:  i;  iP;  i;  i;  i;  L   X   f   w      i  i3  i[  i  io  i  i\  i  i  i  i  i  i
  i  i<  i  iZ	  i%
  i
  i  i  i  i  i  i3  ip  i  i  iz  i  iu  i  i  i_  i!   i!  i#  i%  i'  i)  i+  i-  i/  i2  iG4  i6  i8  i;  iI=  i?  iA  i*D  ivF  iH  iJ  i?M  itO  iQ  iS  iU  iW  iY  i[  i]  i_  iDa  ib  izd  ie  iNg  ih  ii  ij  ik  il  iVm  im  ion  in  io  i,o  x               i  ie  i  i  i  iD  i  i  i-  i  i  i_  i  iY  i  i  i&  i  i  ih	  iG
  i4  i1  iA  ib  i  i  i5  i  i'  i  il  i3  i  i   i   i/"  ii$  i&  i+  iL.  i1  i3  i6  i9  i<  i?  i2C  iF  iI  irM  iQ  iT  iYX  i\  i_  ic  ig  ik  io  is  iw  i{  i  i  i  i  iy  i\  i0  i  i  iP  i  iV  i  i  i  i  i  i  iA  i  i  i  i  i  iM  i  i  i  i  iJ  i  i     i  iA  i  i  i  iV  i  i  iM  i  i  i  i  i  iA  i  i  ie  i:	  i!
  i  i&  iF  i|  i  i)  i  i8  i  i  i  i  i  i  i_"  i$  i'  iQ*  i?-  iP0  i3  i6  ii:  i>  iA  iE  iJ  iTN  iR  icW  i)\  ia  i(f  iek  ip  iLv  i{  iǁ  i  i͍  i  iN  i  iB  i  i  ib  i>  i+  i!  i"  i,  i7  iD  iS  iW  iU iJ i+ i i iY# i) iF0 i6 i< iB iTH iM iGS ilX iY] ib izf ij in i6r iu ix i_{ i} i iÁ i@ il i? i i             i  iF  is  i  i  i  i  ih  i  iC  i  iM  i  i  iA  i  i  i	  i
  i  i  i<  i  i  i  iD  i  i  i  i6  i  i
!  i#  i|&  iy)  i,  i/  i3  i87  i%;  iK?  iC  i5H  iM  i	R  iLW  i\  ib  ih  in  iLu  i|  i  i[  i  i  iġ  i  i  i  i  i  i  ii  i  i  iR  i i i(! i, i7 iC i|O ik[ i}g is i iH i i  i i i i iP i i i i i i7+ i6 iA iL imW ia ik iu i& i? i i< i& i i i2 iD i i i i i< i= i i i
 i i,             ix  i  i  i(  iq  i  i  i  ic  i  i{  i  i  i  i_  iF	  i@
  iP  iy  i  i  i  i&  i  i  i  i  i%  i  i=!  i$  i'  iL*  i-  ib1  iC5  ie9  i=  ifB  iQG  iL  iQ  iW  i]  iId  ik  i#r  iy  id  i  i  i  ib  i  iA  i  i  i-  i  i>  i  i i i& i5 iC iIS ic i1s ĩ i͔ i4 i i9 i i i i i* i> i[S i*h i5} it i i iZ iJ iN ib i+ iA iW im i iљ i i2 i i i i, in- iKA iT ig iWz ic i i i? i i i iC iA iz i i) iw3 i< iD iK ibR iW i\ i;` ic id ie )r   r   r   r   r   r    r!   r"   r#   r$   r%   r&   r'   r(   r)   r;   r*   r+   r,   r0   r-   r.   r/   r1   r<   )numpyr   r   r   r   ZCOUNTSr   r   r   r   <module>   s  	
"..($($("((""( "("( ( ( ($(*0,,,,,,,0,&(,4,,,,,,,,,6, ((2,,,(((((,,,2*((,0*,(((((((((,,.**(.4,,(((((((((((,,,6((&0,,((((((((((((((,,4(*(.2,,(((($         $((((,04$(*0,,((($              $(((,,0*