
    >qjZO                     l    d dl Zd dlmZ d dlZd dlmZ d dlmZm	Z	m
Z
 d dlmZ ddlmZ  G d d	      Zy)
    N)assert_allclose)raises)binned_statisticbinned_statistic_2dbinned_statistic_dd)check_random_state   )check_named_resultsc                      e Zd Zed        Zd Zd Zd Zd Zd Z	d Z
d Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Z d Z!d Z"d  Z#d! Z$d" Z%d# Z&d$ Z'd% Z(d& Z)d' Z*d( Z+d) Z,d* Z-d+ Z.e/j`                  jc                  d,e2jf                  e2jh                  g      e/j`                  jc                  d-e2jj                  e2jl                  e2jn                  e2jp                  e2jr                  e2jt                  d.d/ d0 g	      d1               Z;e/j`                  jc                  d2d3d4 e2jx                  d3      gd5z  g      d6        Z=d7 Z>y8)9TestBinnedStatisticc                 4   t        d      }|j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      | _        |j                  d      dz   | _        y )Ni&  d   sizer      g    .A)r   uniformxyvXwu)clsrngs     f/opt/rentech/trading_bot/.venv/lib/python3.12/site-packages/scipy/stats/tests/test_binned_statistic.pysetup_classzTestBinnedStatistic.setup_class   s}     &%%%*%%+    c                     | j                   }| j                  }t        ||dd      \  }}}t        j                  |d      \  }}t        ||       t        ||       y )Ncount
   binsr   r   r   np	histogramr   )selfr   r   count1edges1bccount2edges2s           r   test_1d_countz!TestBinnedStatistic.test_1d_count   sS    FFFF-aG"Eab1''r   c                 h    | j                   }| j                  }g d}|D ]  }t        |||d        y )N)meanmedianr    sumr!   r"   )r   r   r   )r'   r   r   
statistics	statistics        r   test_gh5927zTestBinnedStatistic.test_gh5927"   s8     FFFF7
# 	7IQ926	7r   c                     | j                   }| j                  }t        ||dd      \  }}}t        ||t        j                  d      \  }}}t        ||       y Nstdr!   r"   )r   r   r   r%   r7   r   r'   r   r   stat1r)   r*   stat2r,   s           r   test_big_number_stdz'TestBinnedStatistic.test_big_number_std+   sR     FFFF,Q5rBvr,Q266Cvru%r   c                     | j                   }| j                  }t        t        ||dd             t        ||dd      \  }}}t        ||t        j
                  d      \  }}}t        ||       y )Nr    i  r"   r7   )r   r   printr   r%   r7   r   r8   s           r   test_empty_bins_stdz'TestBinnedStatistic.test_empty_bins_std5   sd    FFFFq!W489,Q5tDvr,Q266Evru%r   c                 n    | j                   }| j                  }t        ||dd      }d}t        ||       y )Nr    r!   r"   r3   	bin_edges	binnumber)r   r   r   r
   )r'   r   r   res
attributess        r   test_1d_result_attributesz-TestBinnedStatistic.test_1d_result_attributes?   s3    FFFFq!W26<
C,r   c                     | j                   }| j                  }t        ||dd      \  }}}t        j                  |d|      \  }}t        ||       t        ||       y )Nr1   r!   r"   r#   weightsr$   )r'   r   r   sum1r)   r*   sum2r,   s           r   test_1d_sumzTestBinnedStatistic.test_1d_sumG   sU    FFFF+Aq%bAfb||AB:fd#'r   c                     | j                   }| j                  }t        ||dd      \  }}}t        ||t        j                  d      \  }}}t        ||       t        ||       y )Nr/   r!   r"   )r   r   r   r%   r/   r   r'   r   r   r9   r)   r*   r:   r,   s           r   test_1d_meanz TestBinnedStatistic.test_1d_meanQ   sZ    FFFF,Q6Cvr,Q277Dvru%'r   c                     | j                   }| j                  }t        ||dd      \  }}}t        ||t        j                  d      \  }}}t        ||       t        ||       y r6   )r   r   r   r%   r7   r   rM   s           r   test_1d_stdzTestBinnedStatistic.test_1d_std[   Z    FFFF,Q5rBvr,Q266Cvru%'r   c                     | j                   }| j                  }t        ||dd      \  }}}t        ||t        j                  d      \  }}}t        ||       t        ||       y )Nminr!   r"   )r   r   r   r%   rS   r   rM   s           r   test_1d_minzTestBinnedStatistic.test_1d_mine   rQ   r   c                     | j                   }| j                  }t        ||dd      \  }}}t        ||t        j                  d      \  }}}t        ||       t        ||       y )Nmaxr!   r"   )r   r   r   r%   rV   r   rM   s           r   test_1d_maxzTestBinnedStatistic.test_1d_maxo   rQ   r   c                     | j                   }| j                  }t        ||dd      \  }}}t        ||t        j                  d      \  }}}t        ||       t        ||       y )Nr0   r!   r"   )r   r   r   r%   r0   r   rM   s           r   test_1d_medianz"TestBinnedStatistic.test_1d_mediany   sZ    FFFF,Q8"Evr,Q2992Fvru%'r   c                 4   | j                   d d }| j                  d d }t        ||dd      \  }}}t        j                  g d      }t        j
                  |      D cg c]  }||k(  j                          }}t        ||       t        ||       y c c}w )N   r    r   r"   )r      r	   r   r\   r   r   r   r   r	   r	   r   r   r	   r\   r   r	   r	   r\   r	   )r   r   r   r%   arrayuniquer1   r   )	r'   r   r   r(   r)   r*   bc2ibcounts	            r   test_1d_bincodez#TestBinnedStatistic.test_1d_bincode   s    FF3BKFF3BK-aG!Dhh ! " ,.99R=9a27--/99C ' :s    Bc                 d   t         j                  j                  d      }t        j                  d      }|j                  d      }t	        |d d |d d       \  }}}t	        ||dg      \  }}}t	        ||d      \  }	}
}t        ||       t        ||       t        ||	       t        ||
       y )Nl    p-       )r      range)r%   randomdefault_rngaranger   r   )r'   r   r   datar/   r#   _
mean_range
bins_rangemean_range2bins_range2s              r   test_1d_range_keywordz)TestBinnedStatistic.test_1d_range_keyword   s    ii##J/IIbMzz"~(3Bcr;dA$4QWI$N!
J&6q$g&N#[!j)j)k*k*r   c                 .   | j                   }| j                  }| j                  }t        ||dd      \  }}}t        ||dd      \  }}}	t        |||gdd      \  }
}}t	        |
d   |       t	        |
d   |       t	        ||       t	        ||       y )Nr/   r!   r"   r   r	   )r   r   r   r   r   )r'   r   r   r   stat1vedges1vbc1vstat1wedges1wbc1wr:   r,   r_   s                r   test_1d_multi_valuesz(TestBinnedStatistic.test_1d_multi_values   s    FFFFFF 0AvB G 0AvB G-a!QbIvsa&)a&)(c"r   c                     | j                   }| j                  }| j                  }t        |||dd      \  }}}}t	        j
                  ||d      \  }}	}
t        ||       t        ||	       t        ||
       y )Nr       r"   r   r   r   r   r%   histogram2dr   )r'   r   r   r   r(   binx1biny1r*   r+   binx2biny2s              r   test_2d_countz!TestBinnedStatistic.test_2d_count   sr    FFFFFF#6q!W1$& ub!~~a;u'u%u%r   c                     | j                   }| j                  }| j                  }t        |||dd      }d}t	        ||       y )Nr    r|   r"   )r3   x_edgey_edgerB   )r   r   r   r   r
   )r'   r   r   r   rC   rD   s         r   test_2d_result_attributesz-TestBinnedStatistic.test_2d_result_attributes   s>    FFFFFF!!Q7;C
C,r   c                     | j                   }| j                  }| j                  }t        |||dd      \  }}}}t	        j
                  ||d|      \  }}	}
t        ||       t        ||	       t        ||
       y )Nr1   r|   r"   rG   r}   )r'   r   r   r   rI   r   r   r*   rJ   r   r   s              r   test_2d_sumzTestBinnedStatistic.test_2d_sum   sq    FFFFFF!4Q1e!!LeUB^^Aqq!DeUd#u%u%r   c                    | j                   }| j                  }| j                  }t        |||dd      \  }}}}t        |||t        j
                  d      \  }}	}
}t        ||       t        ||	       t        ||
       y Nr/   r|   r"   r   r   r   r   r%   r/   r   r'   r   r   r   r9   r   r   r*   r:   r   r   s              r   test_2d_meanz TestBinnedStatistic.test_2d_mean   su    FFFFFF"5aAvA"NueR"5aArwwQ"OueRu%u%u%r   c                    | j                   }| j                  }| j                  }t        |||dd      \  }}}}t        |||t        j
                  d      \  }}	}
}t        ||       t        ||	       t        ||
       y r   r   r   s              r   test_2d_mean_unicodez(TestBinnedStatistic.test_2d_mean_unicode   sx    FFFFFF"5q!V!#%ueR"5aArwwQ"OueRu%u%u%r   c                    | j                   }| j                  }| j                  }t        |||dd      \  }}}}t        |||t        j
                  d      \  }}	}
}t        ||       t        ||	       t        ||
       y )Nr7   r|   r"   )r   r   r   r   r%   r7   r   r   s              r   test_2d_stdzTestBinnedStatistic.test_2d_std   u    FFFFFF"5aAu1"MueR"5aArvvA"NueRu%u%u%r   c                    | j                   }| j                  }| j                  }t        |||dd      \  }}}}t        |||t        j
                  d      \  }}	}
}t        ||       t        ||	       t        ||
       y )NrS   r|   r"   )r   r   r   r   r%   rS   r   r   s              r   test_2d_minzTestBinnedStatistic.test_2d_min   r   r   c                    | j                   }| j                  }| j                  }t        |||dd      \  }}}}t        |||t        j
                  d      \  }}	}
}t        ||       t        ||	       t        ||
       y )NrV   r|   r"   )r   r   r   r   r%   rV   r   r   s              r   test_2d_maxzTestBinnedStatistic.test_2d_max   r   r   c                    | j                   }| j                  }| j                  }t        |||dd      \  }}}}t        |||t        j
                  d      \  }}	}
}t        ||       t        ||	       t        ||
       y )Nr0   r|   r"   )r   r   r   r   r%   r0   r   r   s              r   test_2d_medianz"TestBinnedStatistic.test_2d_median
  s}    FFFFFF"5q!XA#'ueR"5q!RYYQ#(ueR 	u%u%u%r   c                 |   | j                   d d }| j                  d d }| j                  d d }t        |||dd      \  }}}}t	        j
                  g d      }t	        j                  |      D 	cg c]  }	||	k(  j                          }
}	t        ||       ||j                            }t        |
|       y c c}	w )Nr[   r    r   r"   )            r   r      r   r      r   r   r   r   r   r   r   r   r      )
r   r   r   r   r%   r]   r^   r1   r   nonzero)r'   r   r   r   r(   r   r   r*   r_   r`   ra   	count1adjs               r   test_2d_bincodez#TestBinnedStatistic.test_2d_bincode  s    FF3BKFF3BKFF3BK#6q!W1$& ubhh 0 1 ,.99R=9a27--/99C 6>>+,		*	 :s   1B9c                 j   | j                   }| j                  }| j                  }| j                  }t	        |||dd      \  }}}}t	        |||dd      \  }	}
}}t	        ||||gdd      \  }}}}t        |d   |       t        |d   |	       t        ||       t        ||       t        ||       y )Nr/   r   r"   r   r	   )r   r   r   r   r   r   )r'   r   r   r   r   rt   binx1vbiny1vrv   rw   binx1wbiny1wry   r:   r   r   r_   s                    r   test_2d_multi_valuesz(TestBinnedStatistic.test_2d_multi_values(  s    FFFFFFFF':q!V!(%$':q!V!(%$#6q1a&&q$* ueS 	a&)a&)&&c"r   c                    | j                   }| j                  }| j                  }t        ||dd      \  }}}t        ||dd      \  }}}t	        |||ddd      \  }	}
}}t        j                  ||d	      }t        j                  ||d	      }|||j                         k(  xx   d
z  cc<   |||j                         k(  xx   d
z  cc<   t        ||d          t        ||d
          t        ||d          t        ||d
          y )Nr/   r[   r"   r!   )r[   r!   Tr#   expand_binnumbersright)sider	   r   )	r   r   r   r   r   r%   searchsortedrV   r   )r'   r   r   r   statedgesxbcxedgesybcyr:   edgesx2edgesy2r_   bcx3bcy3s                  r   test_2d_binnumbers_unraveledz0TestBinnedStatistic.test_2d_binnumbers_unraveled;  s    FFFFFF,Q6Cfc,Q6Cfc':q!V(d(D$w vqw7vqw7 	Q!%%'\aQ!%%'\aSV$SV$c!f%c!f%r   c                     | j                   }| j                  }t        ||dd      \  }}}t        j                  |d      \  }}t        ||       t        ||       y )Nr    r   r"   )r   r   r   r%   histogramddr   )r'   r   r   r(   r)   r*   r+   r,   s           r   test_dd_countz!TestBinnedStatistic.test_dd_countR  sS    FFFF0AwQG2''r   c                 n    | j                   }| j                  }t        ||dd      }d}t        ||       y )Nr    r   r"   r@   )r   r   r   r
   )r'   r   r   rC   rD   s        r   test_dd_result_attributesz-TestBinnedStatistic.test_dd_result_attributes\  s3    FFFF!!Qa8<
C,r   c                 2   | j                   }| j                  }t        ||dd      \  }}}t        j                  |d|      \  }}t        ||t        j
                  d      \  }}	}t        ||       t        ||       t        ||       t        ||	       y )Nr1   r   r"   rG   )r   r   r   r%   r   r1   r   )
r'   r   r   rI   r)   r*   rJ   r,   sum3edges3s
             r   test_dd_sumzTestBinnedStatistic.test_dd_sumd  s    FFFF.q!UCfb~~aa;f.q!RVV!Dfbd#'d#'r   c                     | j                   }| j                  }t        ||dd      \  }}}t        ||t        j                  d      \  }}}t        ||       t        ||       y )Nr/   r   r"   )r   r   r   r%   r/   r   r'   r   r   r9   r)   r*   r:   r,   s           r   test_dd_meanz TestBinnedStatistic.test_dd_meanq  sZ    FFFF/1f1Evr/1bggAFvru%'r   c                     | j                   }| j                  }t        ||dd      \  }}}t        ||t        j                  d      \  }}}t        ||       t        ||       y )Nr7   r   r"   )r   r   r   r%   r7   r   r   s           r   test_dd_stdzTestBinnedStatistic.test_dd_std{  Z    FFFF/1e!Dvr/1bff1Evru%'r   c                     | j                   }| j                  }t        ||dd      \  }}}t        ||t        j                  d      \  }}}t        ||       t        ||       y )NrS   r   r"   )r   r   r   r%   rS   r   r   s           r   test_dd_minzTestBinnedStatistic.test_dd_min  r   r   c                     | j                   }| j                  }t        ||dd      \  }}}t        ||t        j                  d      \  }}}t        ||       t        ||       y )NrV   r   r"   )r   r   r   r%   rV   r   r   s           r   test_dd_maxzTestBinnedStatistic.test_dd_max  r   r   c                     | j                   }| j                  }t        ||dd      \  }}}t        ||t        j                  d      \  }}}t        ||       t        ||       y )Nr0   r   r"   )r   r   r   r%   r0   r   r   s           r   test_dd_medianz"TestBinnedStatistic.test_dd_median  sZ    FFFF/1hQGvr/1biiaHvru%'r   c                 Z   | j                   d d }| j                  d d }t        ||dd      \  }}}t        j                  g d      }t        j
                  |      D cg c]  }||k(  j                          }}t        ||       ||j                            }	t        ||	       y c c}w )Nr[   r    r   r"   )?   !   V   S   X   C   9   r   *   )   R   r   \       $   [   +   W   Q   r   )	r   r   r   r%   r]   r^   r1   r   r   )
r'   r   r   r(   r)   r*   r_   r`   ra   r   s
             r   test_dd_bincodez#TestBinnedStatistic.test_dd_bincode  s    FF3BKFF3BK0AwQGhh 4 5 ,.99R=9a27--/99C 6>>+,		*	 :s    B(c                    | j                   }| j                  }| j                  }dddddddt        j                  fD ]  }t        |||d	      \  }}}t        |||d	      \  }}	}
t        |||g|d	      \  }}}t        |d
   |       t        |d   |       t        ||       t        |	|       t        ||        y )Nr    r1   r/   r7   rS   rV   r0   r   r"   r   r	   )r   r   r   r%   r7   r   r   )r'   r   r   r   r   rt   ru   rv   rw   rx   ry   r:   r,   r_   s                 r   test_dd_multi_valuesz(TestBinnedStatistic.test_dd_multi_values  s    FFFFFFeVUE5(VV 		'D$71d$K!FGT$71d$K!FGT!4QA1!ME63E!Hf-E!Hf-GV,GV,D#&		'r   c                 R   | j                   }| j                  }t        |d d df   |dd      \  }}}t        |d d df   |dd      \  }}}t        |d d df   |dd      \  }}}	t        ||dd	d
      \  }
}}t	        ||d          t	        ||d          t	        |	|d          y )Nr   r/   re   r"   r	   r[   r\   r!   )re   r[   r!   Tr   )r   r   r   r   r   )r'   r   r   r   r   r   r   r   edgeszbczr:   r,   r_   s                r   test_dd_binnumbers_unraveledz0TestBinnedStatistic.test_dd_binnumbers_unraveled  s    FFFF,Qq!tWabIfc,Qq!tWabIfc,Qq!tWabIfc0q&|tEvs 	SV$SV$SV$r   c                 B   t         j                  j                  d      }|j                  d      }|j                  d      }t        j                  ddd      }|||f}t	        ||d|      }|j
                  }t	        ||d|	      }|j
                  }t        ||       y )
Nl   g
F '  r   r   r   r	   r!   r/   r"   )binned_statistic_result)r%   ri   rj   linspacer   r3   r   )r'   r   r   r   r#   resultr   r:   s           r   test_dd_binned_statistic_resultz3TestBinnedStatistic.test_dd_binned_statistic_result  s    ii##J/JJz"JJu{{1a$dD!$Q6=$Q6=CE  e$r   c                 T   t         j                  j                  d      }|j                  d      }|j                  d      }t        j                  ddd      }t        j                  |d      }|||f}t        t        d      5  t        ||d	|
       d d d        y # 1 sw Y   y xY w)NiCr   r   r   r	   r!   zdifference is numerically 0matchr/   r"   )r%   ri   rj   r   appendassert_raises
ValueErrorr   )r'   r   r   r   r#   s        r   test_dd_zero_dedgesz'TestBinnedStatistic.test_dd_zero_dedges  s    ii##J/JJz"JJu{{1a$yyq!dD!:-JK 	91f48	9 	9 	9s   BB'c                    t        t        d      5  t        | j                  g| j                  ddgg       d d d        t        t        d      5  t        | j
                  | j                  g| j                  ddgddgg       d d d        t        t        d      5  t        | j
                  | j                  g| j                  ddgddgg       d d d        t        t        d      5  t        | j
                  | j                  g| j                  ddgg       d d d        y # 1 sw Y   xY w# 1 sw Y   xY w# 1 sw Y   mxY w# 1 sw Y   y xY w)	NzIn range, start must be <= stopr   r	   r   rg   z.In dimension 1 of range, start must be <= stopz.In dimension 2 of range, start must be <= stopz(range given for 1 dimensions; 2 required)r   r   r   r   r   r   )r'   s    r   test_dd_range_errorsz(TestBinnedStatistic.test_dd_range_errors  sC    :!BD 	0$&&()1vh0	0 FH 	8   0$&&()1v1v&68	8
 FH 	8   0$&&()1v1v&68	8
 @B 	0   0$&&()1vh0	0 	0	0 	0	8 	8
	8 	8
	0 	0s/   'D)5D5 5E.2E)D25D>E
Ec                     t        j                  ddgt         j                        }t        |d dd      \  }}}t	        |t        j                  g dt         j
                               y )Nr   ghw?)dtyper    r|   r"   )r	   r   r   r   r	   )r%   r]   float32r   r   float64)r'   r   r   rm   s       r   test_binned_statistic_float32z1TestBinnedStatistic.test_binned_statistic_float32  sI    HHa_BJJ7%awQ?
abhhbjjIJr   c                 <   g }d}t        |      D ]  }|dd|z  z
  gz  } t        j                  ddd      }t        |t        j                  t        |            |gd      \  }}}t        j                  ||      \  }}	t        ||       t        |d   |	       y )	Nr[   r	   g?r   r   r1   )r#   r3   r"   )rh   r%   r   r   oneslenr&   r   )
r'   r   r   r`   r#   rI   r)   r*   rJ   r,   s
             r   test_gh14332z TestBinnedStatistic.test_gh14332  s    t 	A!CF(OA	 {{1Qr".q"''#a&/59FeMfb||AD1fd#q	6*r   r   r3   r    c                 (    | dz  j                         S )Nr\   r1   r   s    r   <lambda>zTestBinnedStatistic.<lambda>  s    adZZ\ r   c                 .    | dz  j                         dz  S )Nr\                 ?r  r  s    r   r  zTestBinnedStatistic.<lambda>  s    adZZ\B5F r   c                    fd}t         j                  j                  d      }d}|j                  |      }|dk\  }|j                  |      }|t         j                  u r||j                  |      dz  z   }t	        ||d      \  }	}
}
t        j
                   |||           |||         g      }t        |	|       |	j                  t        j                  |j                  t         j                        k(  sJ y )	Nc                 4    dk(  rt        |       S  |       S )Nr    )r   )r   r3   s    r   ref_statisticz6TestBinnedStatistic.test_dd_all.<locals>.ref_statistic  s    &'13q6Cy|Cr   l   #t%i r!   r   g      ?r  r\   r"   )
r%   ri   rj   
complex128r   r]   r   r   result_typer   )r'   r   r3   r
  r   nr   r`   r   r   rm   refs     `         r   test_dd_allzTestBinnedStatistic.test_dd_all  s    	D ii##$45JJAJHJJAJBMM!CJJAJ&r))A(AyqA
ahhae,mAaD.ABCc"zzR^^CIIrzzBBBBr   r#   r!   )r!   r!   r!   r   c                 f   t         j                  j                  d      }|j                  d      }|j                  d      }|j                  |j                        dk  }t         j
                  ||<   d}t        j                  t        |      5  t        ||       d d d        y # 1 sw Y   y xY w)N   %V:r   r   r   皙?z/The sample on which `values` is to be binned...r   )
r%   ri   rj   standard_normalshapenanpytestr   r   r   )r'   r#   r   samplesvaluesr`   messages          r   test_nan_gh17154z$TestBinnedStatistic.test_nan_gh17154,  s     ii##$67%%8%4$$S)JJw}}%,VV
C]]:W5 	10	1 	1 	1s   B''B0c           
         t         j                  j                  d      }|j                  d      }|j                  d      }|j                  |j                        dk  }t         j
                  ||<   |j                  |j                        dk  }t         j
                   ||<   t        ||      }||z  }|j                         }d||<   t        j                  |d      }	t        j                  |d      }
t        ||t        t        |	|
                  }t         j                  j                  |d   |d          t         j                  j                  |d	   |d	          t         j                  j                  |d
   |d
          y )Nr  r   r   r   r  r   )axisrg   r	   r\   )r%   ri   rj   r  r  infr   copyrS   rV   listziptestingr   )r'   r   r  r  i_pinfi_ninfrC   i_inftemplowhighr  s               r   test_inf_gh17154z$TestBinnedStatistic.test_inf_gh17154>  sB    ii##$67%%8%4$$S)GMM*T1&&GMM*T166' "'62 ||~UffT"vvd#!'6c#tn9MN 	

""3q63q62


""3q63q62


""3q63q62r   N)?__name__
__module____qualname__classmethodr   r-   r4   r;   r>   rE   rK   rN   rP   rT   rW   rY   rb   rr   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  markparametrizer%   r   r  r/   r0   r1   r7   rS   rV   r  rk   r  r(   r   r   r   r      s   , ,(7&&-(((((((+#&-
&
&	&
&
&
&&+ #&&.(-((((((+' %%"90.K
+ [[Wrzz2==&AB[[[277BIIrvvrvv+-662667+A+F+H IC	I C
C" [[Vb,28I%JK1 L1"3r   r   )numpyr%   numpy.testingr   r  r   r   scipy.statsr   r   r   scipy._lib._utilr   common_testsr
   r   r/  r   r   <module>r5     s-     )  *. . / -N	3 N	3r   