
    _Mh~I                     t    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dS )
    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.d, Z/e0j1        2                    d-e3j4        e3j5        g          e0j1        2                    d.e3j6        e3j7        e3j8        e3j9        e3j:        e3j;        d/d0 d1 g	          d2                         Z<d3S )4TestBinnedStatisticc                 n   t          d          }|                    d          | _        |                    d          | _        |                    d          | _        |                    d          | _        |                    d          | _        |                    d          dz   | _        d S )N&  d   size)r      g    .A)r   uniformxyvXwu)clsrngs     g/var/www/html/test/jupyter/venv/lib/python3.11/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          ||           d S )Ncount
   binsr   r   r   np	histogramr   )selfr   r   count1edges1bccount2edges2s           r   test_1d_countz!TestBinnedStatistic.test_1d_count   sk    FF-aG"EEEab111''''''''r   c                 Z    | j         }| j        }g d}|D ]}t          |||d           d S )N)meanmedianr    sumr!   r"   )r   r   r   )r'   r   r   
statistics	statistics        r   test_gh5927zTestBinnedStatistic.test_gh5927"   sP     FF777
# 	7 	7IQ9266666	7 	7r   c                     | j         }| j        }t          ||dd          \  }}}t          ||t          j        d          \  }}}t          ||           d S 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+   sd     FF,Q5rBBBvr,Q26CCCvru%%%%%r   c                     | j         }| j        }t          t          ||dd                     t          ||dd          \  }}}t          ||t          j        d          \  }}}t          ||           d S )Nr    i  r"   r7   )r   r   printr   r%   r7   r   r8   s           r   test_empty_bins_stdz'TestBinnedStatistic.test_empty_bins_std5   s    FFq!W4888999,Q5tDDDvr,Q26EEEvru%%%%%r   c           
      V   | j         }| j        }|d         }t          j        |d<   t	          t
          t          ||dd           t	          t
          t          ||dt          j        d                     t          j        |d<   t	          t
          t          ||dd           ||d<   d S )Nr   r7   r!   r"   r    )	r   r   r%   infassert_raises
ValueErrorr   int64nan)r'   r   r   origs       r   #test_non_finite_inputs_and_int_binsz7TestBinnedStatistic.test_non_finite_inputs_and_int_bins?   s     FFtv!j"2Aq%bIIIIj"2Aq%8B<<	) 	) 	) 	)v!j"2Aq'KKKK!r   c                 l    | j         }| j        }t          ||dd          }d}t          ||           d S )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_attributesO   sA    FFq!W2666<
C,,,,,r   c                     | j         }| j        }t          ||dd          \  }}}t          j        |d|          \  }}t          ||           t          ||           d S )Nr1   r!   r"   r#   weightsr$   )r'   r   r   sum1r)   r*   sum2r,   s           r   test_1d_sumzTestBinnedStatistic.test_1d_sumW   sm    FF+Aq%bAAAfb|AB:::fd###'''''r   c                     | j         }| j        }t          ||dd          \  }}}t          ||t          j        d          \  }}}t          ||           t          ||           d S )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_meana   sr    FF,Q6CCCvr,Q27DDDvru%%%'''''r   c                     | j         }| j        }t          ||dd          \  }}}t          ||t          j        d          \  }}}t          ||           t          ||           d S r6   )r   r   r   r%   r7   r   rU   s           r   test_1d_stdzTestBinnedStatistic.test_1d_stdk   r    FF,Q5rBBBvr,Q26CCCvru%%%'''''r   c                     | j         }| j        }t          ||dd          \  }}}t          ||t          j        d          \  }}}t          ||           t          ||           d S )Nminr!   r"   )r   r   r   r%   r[   r   rU   s           r   test_1d_minzTestBinnedStatistic.test_1d_minu   rY   r   c                     | j         }| j        }t          ||dd          \  }}}t          ||t          j        d          \  }}}t          ||           t          ||           d S )Nmaxr!   r"   )r   r   r   r%   r^   r   rU   s           r   test_1d_maxzTestBinnedStatistic.test_1d_max   rY   r   c                     | j         }| j        }t          ||dd          \  }}}t          ||t          j        d          \  }}}t          ||           t          ||           d S )Nr0   r!   r"   )r   r   r   r%   r0   r   rU   s           r   test_1d_medianz"TestBinnedStatistic.test_1d_median   sr    FF,Q8"EEEvr,Q292FFFvru%%%'''''r   c                    | j         d d         }| j        d d         }t          ||dd          \  }}t          j        g d          }fdt          j                  D             }t          |           t          ||           d S )N   r    r   r"   )r      r	   r   rd   r   r   r   r   r	   r	   r   r   r	   rd   r   r	   r	   rd   r	   c                 @    g | ]}|k                                     S  r1   .0ir*   s     r   
<listcomp>z7TestBinnedStatistic.test_1d_bincode.<locals>.<listcomp>   %    999a27--//999r   )r   r   r   r%   arrayuniquer   )r'   r   r   r(   r)   bc2bcountr*   s          @r   test_1d_bincodez#TestBinnedStatistic.test_1d_bincode   s    F3B3KF3B3K-aG!DDDh ! ! ! " " :99929R==999C   '''''r   c                    t           j                            d           t          j        d          }t           j                            d          }t	          |d d         |d d                   \  }}}t	          ||dg          \  }}}t	          ||d          \  }}	}t          ||           t          ||           t          ||           t          ||	           d S )Nr         )r      range)r%   randomseedaranger   r   )
r'   r   datar/   r#   _
mean_range
bins_rangemean_range2bins_range2s
             r   test_1d_range_keywordz)TestBinnedStatistic.test_1d_range_keyword   s    
	tIbMMy##(3B3crc;;dA$4QWI$N$N$N!
J&6q$g&N&N&N#[!j)))j)))k***k*****r   c                 V   | j         }| j        }| j        }t          ||dd          \  }}}t          ||dd          \  }}}	t          |||gdd          \  }
}}t	          |
d         |           t	          |
d         |           t	          ||           t	          ||           d S )Nr/   r!   r"   r   r	   )r   r   r   r   r   )r'   r   r   r   stat1vedges1vbc1vstat1wedges1wbc1wr:   r,   ro   s                r   test_1d_multi_valuesz(TestBinnedStatistic.test_1d_multi_values   s    FFF 0AvB G G G 0AvB G G G-a!QbIIIvsa&)))a&)))(((c"""""r   c                     | j         }| j        }| j        }t          |||dd          \  }}}}t	          j        ||d          \  }}	}
t          ||           t          ||	           t          ||
           d S )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   s    FFF#6q!W1$& $& $& ub!~a;;;u'''u%%%u%%%%%r   c                 |    | j         }| j        }| j        }t          |||dd          }d}t	          ||           d S )Nr    r   r"   )r3   x_edgey_edgerJ   )r   r   r   r   r
   )r'   r   r   r   rK   rL   s         r   test_2d_result_attributesz-TestBinnedStatistic.test_2d_result_attributes   sJ    FFF!!Q7;;;C
C,,,,,r   c                     | j         }| j        }| j        }t          |||dd          \  }}}}t	          j        ||d|          \  }}	}
t          ||           t          ||	           t          ||
           d S )Nr1   r   r"   rO   r   )r'   r   r   r   rQ   r   r   r*   rR   r   r   s              r   test_2d_sumzTestBinnedStatistic.test_2d_sum   s    FFF!4Q1e!!L!L!LeUB^Aqq!DDDeUd###u%%%u%%%%%r   c                    | j         }| j        }| j        }t          |||dd          \  }}}}t          |||t          j        d          \  }}	}
}t          ||           t          ||	           t          ||
           d S 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   s    FFF"5aAvA"N"N"NueR"5aArwQ"O"O"OueRu%%%u%%%u%%%%%r   c                    | j         }| j        }| j        }t          |||dd          \  }}}}t          |||t          j        d          \  }}	}
}t          ||           t          ||	           t          ||
           d S r   r   r   s              r   test_2d_mean_unicodez(TestBinnedStatistic.test_2d_mean_unicode   s    FFF"5q!V!#% #% #%ueR"5aArwQ"O"O"OueRu%%%u%%%u%%%%%r   c                    | j         }| j        }| j        }t          |||dd          \  }}}}t          |||t          j        d          \  }}	}
}t          ||           t          ||	           t          ||
           d S )Nr7   r   r"   )r   r   r   r   r%   r7   r   r   s              r   test_2d_stdzTestBinnedStatistic.test_2d_std       FFF"5aAu1"M"M"MueR"5aArvA"N"N"NueRu%%%u%%%u%%%%%r   c                    | j         }| j        }| j        }t          |||dd          \  }}}}t          |||t          j        d          \  }}	}
}t          ||           t          ||	           t          ||
           d S )Nr[   r   r"   )r   r   r   r   r%   r[   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          ||
           d S )Nr^   r   r"   )r   r   r   r   r%   r^   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          ||
           d S )Nr0   r   r"   )r   r   r   r   r%   r0   r   r   s              r   test_2d_medianz"TestBinnedStatistic.test_2d_median  s    FFF"5q!XA#' #' #'ueR"5q!RYQ#( #( #(ueR 	u%%%u%%%u%%%%%r   c                 t  
 | j         d d         }| j        d d         }| j        d d         }t          |||dd          \  }}}
t	          j        g d          }
fdt	          j        
          D             }t          
|           ||                                         }	t          ||	           d S )Nrc   r    r   r"   )            r   r      r   r      r   r   r   r   r   r   r   r   r      c                 @    g | ]}|k                                     S rf   rg   rh   s     r   rk   z7TestBinnedStatistic.test_2d_bincode.<locals>.<listcomp>2  rl   r   )	r   r   r   r   r%   rm   rn   r   nonzero)r'   r   r   r   r(   r   r   ro   rp   	count1adjr*   s             @r   test_2d_bincodez#TestBinnedStatistic.test_2d_bincode(  s    F3B3KF3B3KF3B3K#6q!W1$& $& $& ubh 0 0 0 1 1 :99929R==999C   6>>++,		*****r   c                    | j         }| j        }| j        }| j        }t	          |||dd          \  }}}}t	          |||dd          \  }	}
}}t	          ||||gdd          \  }}}}t          |d         |           t          |d         |	           t          ||           t          ||           t          ||           d S )Nr/   r   r"   r   r	   )r   r   r   r   r   r   )r'   r   r   r   r   r   binx1vbiny1vr   r   binx1wbiny1wr   r:   r   r   ro   s                    r   test_2d_multi_valuesz(TestBinnedStatistic.test_2d_multi_values8  s    FFFF':q!V!(% (% (%$':q!V!(% (% (%$#6q1a&&q$* $* $* ueS 	a&)))a&)))&&&&&&c"""""r   c                 d   | j         }| j        }| j        }t          ||dd          \  }}}t          ||dd          \  }}}t	          |||ddd          \  }	}
}}t          j        ||d	          }t          j        ||d	          }|||                                k    xx         d
z  cc<   |||                                k    xx         d
z  cc<   t          ||d                    t          ||d
                    t          ||d                    t          ||d
                    d S )Nr/   rc   r"   r!   )rc   r!   Tr#   expand_binnumbersright)sider	   r   )	r   r   r   r   r   r%   searchsortedr^   r   )r'   r   r   r   statedgesxbcxedgesybcyr:   edgesx2edgesy2ro   bcx3bcy3s                  r   test_2d_binnumbers_unraveledz0TestBinnedStatistic.test_2d_binnumbers_unraveledK  sT   FFF,Q6CCCfc,Q6CCCfc':q!V(d(D (D (D$w vqw777vqw77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          ||           d S )Nr    r   r"   )r   r   r   r%   histogramddr   )r'   r   r   r(   r)   r*   r+   r,   s           r   test_dd_countz!TestBinnedStatistic.test_dd_countb  sk    FF0AwQGGG222''''''''r   c                 l    | j         }| j        }t          ||dd          }d}t          ||           d S )Nr    r   r"   rH   )r   r   r   r
   )r'   r   r   rK   rL   s        r   test_dd_result_attributesz-TestBinnedStatistic.test_dd_result_attributesl  sA    FF!!Qa888<
C,,,,,r   c                 F   | j         }| j        }t          ||dd          \  }}}t          j        |d|          \  }}t          ||t          j        d          \  }}	}t          ||           t          ||           t          ||           t          ||	           d S )Nr1   r   r"   rO   )r   r   r   r%   r   r1   r   )
r'   r   r   rQ   r)   r*   rR   r,   sum3edges3s
             r   test_dd_sumzTestBinnedStatistic.test_dd_sumt  s    FF.q!UCCCfb~aa;;;f.q!RV!DDDfbd###'''d###'''''r   c                     | j         }| j        }t          ||dd          \  }}}t          ||t          j        d          \  }}}t          ||           t          ||           d S )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_mean  sr    FF/1f1EEEvr/1bgAFFFvru%%%'''''r   c                     | j         }| j        }t          ||dd          \  }}}t          ||t          j        d          \  }}}t          ||           t          ||           d S )Nr7   r   r"   )r   r   r   r%   r7   r   r   s           r   test_dd_stdzTestBinnedStatistic.test_dd_std  r    FF/1e!DDDvr/1bf1EEEvru%%%'''''r   c                     | j         }| j        }t          ||dd          \  }}}t          ||t          j        d          \  }}}t          ||           t          ||           d S )Nr[   r   r"   )r   r   r   r%   r[   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          ||           d S )Nr^   r   r"   )r   r   r   r%   r^   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          ||           d S )Nr0   r   r"   )r   r   r   r%   r0   r   r   s           r   test_dd_medianz"TestBinnedStatistic.test_dd_median  sr    FF/1hQGGGvr/1biaHHHvru%%%'''''r   c                 R   | j         d d         }| j        d d         }t          ||dd          \  }}t          j        g d          }fdt          j                  D             }t          |           ||                                         }t          ||           d S )Nrc   r    r   r"   )?   !   V   S   X   C   9   r   *   )   R   r   \       $   [   +   W   Q   r   c                 @    g | ]}|k                                     S rf   rg   rh   s     r   rk   z7TestBinnedStatistic.test_dd_bincode.<locals>.<listcomp>  rl   r   )r   r   r   r%   rm   rn   r   r   )	r'   r   r   r(   r)   ro   rp   r   r*   s	           @r   test_dd_bincodez#TestBinnedStatistic.test_dd_bincode  s    F3B3KF3B3K0AwQGGGh 4 4 4 5 5 :99929R==999C   6>>++,		*****r   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          ||           d S )Nr    r1   r/   r7   r[   r^   r0   r   r"   r   r	   )r   r   r   r%   r7   r   r   )r'   r   r   r   r   r   r   r   r   r   r   r:   r,   ro   s                 r   test_dd_multi_valuesz(TestBinnedStatistic.test_dd_multi_values  s    FFFeVUE5(V 		' 		'D$71d$K$K$K!FGT$71d$K$K$K!FGT!4QA1!M!M!ME63E!Hf---E!Hf---GV,,,GV,,,D#&&&&		' 		'r   c                    | 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                    d S )Nr   r/   rt   r"   r	   rc   rd   r!   )rt   rc   r!   Tr   )r   r   r   r   r   )r'   r   r   r   r   r   r   r   edgeszbczr:   r,   ro   s                r   test_dd_binnumbers_unraveledz0TestBinnedStatistic.test_dd_binnumbers_unraveled  s    FF,Qqqq!tWabIIIfc,Qqqq!tWabIIIfc,Qqqq!tWabIIIfc0q&|tE E Evs 	SV$$$SV$$$SV$$$$$r   c                 @   t           j                            d          }t           j                            d          }t          j        ddd          }|||f}t          ||d|          }|j        }t          ||d|          }|j        }t          ||           d S )	N'  r   r   r   r	   r!   r/   r"   )binned_statistic_result)r%   rx   linspacer   r3   r   )r'   r   r   r#   resultr   r:   s          r   test_dd_binned_statistic_resultz3TestBinnedStatistic.test_dd_binned_statistic_result  s    IZ((IU##{1a$$dD!$Q6===$Q6=CE E E e$$$$$r   c                 f   t           j                            d          }t           j                            d          }t          j        ddd          }t          j        |d          }|||f}t	          t
          d          5  t          ||d|	           d d d            d S # 1 swxY w Y   d S )
Nr   r   r   r	   r!   zdifference is numerically 0matchr/   r"   )r%   rx   r   appendrA   rB   r   )r'   r   r   r#   s       r   test_dd_zero_dedgesz'TestBinnedStatistic.test_dd_zero_dedges  s    IZ((IU##{1a$$yq!!dD!:-JKKK 	9 	91f48888	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9 	9s   B&&B*-B*c                    t          t          d          5  t          | j        g| j        ddgg           d d d            n# 1 swxY w Y   t          t          d          5  t          | j        | j        g| j        ddgddgg           d d d            n# 1 swxY w Y   t          t          d          5  t          | j        | j        g| j        ddgddgg           d d d            n# 1 swxY w Y   t          t          d          5  t          | j        | j        g| j        ddgg           d d d            d S # 1 swxY w Y   d S )	NzIn range, start must be <= stopr  r	   r   rv   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)rA   rB   r   r   r   r   )r'   s    r   test_dd_range_errorsz(TestBinnedStatistic.test_dd_range_errors  s    :!BD D D 	0 	0$&()1vh0 0 0 0	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 FH H H 	8 	8   0$&()1v1v&68 8 8 8	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8
 FH H H 	8 	8   0$&()1v1v&68 8 8 8	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8 	8
 @B B B 	0 	0   0$&()1vh0 0 0 0	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0 	0sG   !AAA%*BB"B<*C22C69C6'EEEc                     t          j        ddgt           j                  }t          |d dd          \  }}}t	          |t          j        g dt           j                             d S )Nr   ghw?)dtyper    r   r"   )r	   r   r   r   r	   )r%   rm   float32r   r   float64)r'   r   r   r|   s       r   test_binned_statistic_float32z1TestBinnedStatistic.test_binned_statistic_float32  sc    Ha_BJ777%awQ???
abhbjIIIJJJJJr   c                 b   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         |	           d S )	Nrc   r	   g?r   r   r1   )r#   r3   r"   )rw   r%   r   r   oneslenr&   r   )
r'   r   r   rj   r#   rQ   r)   r*   rR   r,   s
             r   test_gh14332z TestBinnedStatistic.test_gh14332  s    t 	 	A!CF(OAA{1Qr"".q"'#a&&//59FeM M Mfb|AD111fd###q	6*****r   r	  r3   r    c                 0    | dz                                   S )Nrd   rg   r   s    r   <lambda>zTestBinnedStatistic.<lambda>'  s    adZZ\\ r   c                 6    | dz                                   dz  S )Nrd                 ?rg   r  s    r   r  zTestBinnedStatistic.<lambda>(  s    adZZ\\B5F r   c                 "   fd}t           j                            d          }d}|                    |          }|dk    }|                    |          }|t           j        u r||                    |          dz  z   }t	          ||d          \  }	}
}
t          j         |||                     |||                   g          }t          |	|           |	j        t          j        |j        t           j	                  k    sJ d S )	Nc                 D    dk    rt          |           n
 |           S )Nr    )r  )r   r3   s    r   ref_statisticz6TestBinnedStatistic.test_dd_all.<locals>.ref_statistic*  s%    &'113q666yy||Cr   l   #t%i r!   r   g      ?r  rd   r"   )
r%   rx   default_rng
complex128r   rm   r   r	  result_typer  )r'   r	  r3   r  r   nr   rj   r   r   r|   refs     `         r   test_dd_allzTestBinnedStatistic.test_dd_all$  s   	D 	D 	D 	D 	D i##$455JJAJHJJAJBM!!CJJAJ&&r))A(AyqAAA
ahae,,mmAaD.A.ABCCc"""zR^CIrzBBBBBBBBr   N)=__name__
__module____qualname__classmethodr   r-   r4   r;   r>   rF   rM   rS   rV   rX   r\   r_   ra   rq   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r  r  r  r  pytestmarkparametrizer%   r  r  r/   r0   r1   r7   r[   r^   r  rf   r   r   r   r      sD       , , [,( ( (7 7 7& & && & &   - - -( ( (( ( (( ( (( ( (( ( (( ( (( ( (+ + +# # #& & &- - -
& 
& 
&
& 
& 
&	& 	& 	&
& 
& 
&
& 
& 
&
& 
& 
&& & &+ + + # # #&& & &.( ( (- - -( ( (( ( (( ( (( ( (( ( (( ( (+ + +' ' ' % % %% % % 9 9 90 0 0.K K K
+ + + [Wrz2=&ABB[[27BIrvrv+-6267+A+A+F+F+H I IC C	I I CB
C C Cr   r   )numpyr%   numpy.testingr   r#  r   rA   scipy.statsr   r   r   scipy._lib._utilr   common_testsr
   r   rf   r   r   <module>r+     s        ) ) ) ) ) )  * * * * * *. . . . . . . . . . / / / / / / - - - - - -lC lC lC lC lC lC lC lC lC lCr   