
    IR-eG                        d dl Z d dlZd dlZd dlmZ d dlmZ d dl	m
Z
 d dlmZ d dlmZ d dlmZ d dlmZ d d	lmZ erd d
lmZ d ej        d          z  Z G d d          Zd Z G d d          Zd Zd Zd Zd Z d Z!d Z"ej#        $                    dej%        d ddfej&        d ddfej'        ddifej%        d ej(        z  dej(        z  dfej&        d ej(        z  dej(        z  dfej'        ddej(        z  ifg          d             Z)d Z*d Z+d  Z,d! Z-d" Z.d# Z/d$ Z0d% Z1d& Z2d' Z3d( Z4d) Z5ej#        $                    d*e j6        e j7        e j8        g           G d+ d,                      Z9 G d- d.          Z:dS )/    N)assert_array_equal)units)Angle)assert_quantity_allclose)distributions)Distribution)NumpyRNGContext)	HAS_SCIPY)norm   g      ?c                   B    e Zd Zed             Zd Zd Zd Zd Zd Z	dS )TestInitc                 0   t          j        g d          d d t           j        f         | _        t           j                            | j        d          | _        t           j                            | j                                        d          | _        d S )Nr         i       )r   r   )	nparraynewaxisratesrandompoissonparrsqueezeparr_tselfs    Klib/python3.11/site-packages/astropy/uncertainty/tests/test_distribution.pysetup_classzTestInit.setup_class   sl    Xooo..qqq"*}=
I%%dj)<<	i''
(:(:(<(<iHH    c                 .    t          | j                   d S N)r   r   r   s    r!   test_numpy_initzTestInit.test_numpy_init   s    TYr#   c                 8    t          | j        j                   d S r%   )r   r   Tr   s    r!   test_numpy_init_TzTestInit.test_numpy_init_T!   s    T[]#####r#   c                 (   | j         t          j        z  }t          |          }t	          |t          j                  sJ t	          |t                    sJ t	          |j        t                    sJ t          |j        j        | j                    d S r%   )	r   uctr   
isinstanceQuantityvaluer   distribution)r    pqpqds      r!   test_quantity_initzTestInit.test_quantity_init$   s    Y!$2#qz*****#|,,,,,#)\2222239149=====r#   c                 V    | j         t          j        z  }t          |j                   d S r%   )r   r+   r,   r   r(   )r    r1   s     r!   test_quantity_init_TzTestInit.test_quantity_init_T-   s&    [AD RTr#   c                 N   t          | j                  }|t          j        z  }t	          |t          j                  sJ t	          |t                     sJ |j        t          j        k    sJ t          |j        j	        |j	        
                    t                               d S r%   )r   r   r+   r,   r-   r.   unitr   r/   r0   astypefloat)r    pdqpds      r!   $test_quantity_init_with_distributionz-TestInit.test_quantity_init_with_distribution2   s    $)$$ADj#qz*****#|,,,,,x143912?3I3I%3P3PQQQQQr#   N)
__name__
__module____qualname__classmethodr"   r&   r)   r3   r5   r<    r#   r!   r   r      s        I I [I
     $ $ $> > >  
R R R R Rr#   r   c                  L   t           j                            t          j        g d          d d t           j        f         d          } t          j        t          d          5  t          | 	                                d                    d d d            d S # 1 swxY w Y   d S )Nr   r   z4Attempted to initialize a Distribution with a scalarmatchr   )
r   r   r   r   r   pytestraises	TypeErrorr   ravel)r   s    r!   test_init_scalarrI   <   s    9RXooo66qqq"*}EyQQD	P
 
 
 & & 	TZZ\\!_%%%& & & & & & & & & & & & & & & & & &s   $(BB Bc                       e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zej                            e d
          d             Zd Zd Zd ZdS )TestDistributionStatisticsc                    t          d          5  t          j                            t          j        g d          d d t          j        f         t          j        g d          d d t          j        f         d          | _        d d d            n# 1 swxY w Y   t          | j        t          j	        z            | _
        d S )N90  r         r   rP   rO   r   r   r   '  )r	   r   r   normalr   r   datar   r+   kpcdistrr   s    r!   r"   z&TestDistributionStatistics.setup_classE   s    U## 	 		((&&qqq"*}5&&qqq"*}5 DI	 	 	 	 	 	 	 	 	 	 	 	 	 	 	 "$)ae"344


s   A7BBBc                 X    | j         j        dk    sJ | j         j        j        dk    sJ d S )Nr   rR   )rW   shaper0   r   s    r!   
test_shapez%TestDistributionStatistics.test_shapeO   s7    z4''''z&,
::::::r#   c                 X    | j         j        dk    sJ | j         j        j        dk    sJ d S )Nr   i@  )rW   sizer0   r   s    r!   	test_sizez$TestDistributionStatistics.test_sizeT   s6    z!####z&+u444444r#   c                 *    | j         j        dk    sJ d S )NrS   )rW   	n_samplesr   s    r!   test_n_samplesz)TestDistributionStatistics.test_n_samplesY   s    z#u,,,,,,r#   c                 *    | j         j        dk    sJ d S )NrY   )rW   rZ   r   s    r!   test_n_distrz'TestDistributionStatistics.test_n_distr]   s    z4''''''r#   c                    t          j        | j        d          | j        j        z  }| j                                        }t          ||           t          |g d| j        j        z  d           t          |t                    rJ t          |t          j
                  sJ |dz  }| j                            |          }||u sJ t          j        ||k              sJ d S )NaxisrN   皙?rtol        out)r   meanrU   rW   r7   pdf_meanr   r-   r   r+   r.   all)r    expectedro   rm   	pdf_mean2s        r!   test_pdf_meanz(TestDistributionStatistics.test_pdf_mean`   s    7492...@:&&(( 8444 <<<$*/+IPTUUUU h55555(AJ///// nJ''C'00	Cvi8+,,,,,,,r#   c                 $   t          j        | j        d          | j        j        z  }| j                                        }t          ||           t          |g d| j        j        z  d           t          |t                    rJ t          |t          j
                  sJ |dz  }t          j        | j        dd          | j        j        z  }| j                            d|	          }||u sJ t          j        ||k              sJ d S )
Nre   rf   rQ   rh   ri   rk   r   rg   ddofrv   rm   )r   stdrU   rW   r7   pdf_stdr   r-   r   r+   r.   rp   )r    rq   ry   rm   pdf_std2s        r!   test_pdf_stdz'TestDistributionStatistics.test_pdf_stdr   s
   6$)"---
?*$$&& (333 ,,,*HtTTTT g|44444'1:..... m6$)"1555
G:%%1#%663vh(*+++++++r#   c                 6   t          j        | j        d          | j        j        dz  z  }| j                                        }t          ||           t          |g d| j        j        dz  z  d           t          |t                    rJ t          |t          j
                  sJ |dz  }t          j        | j        dd	          | j        j        dz  z  }| j                            d|
          }||u sJ t          j        ||k              sJ d S )Nre   rf   rO   )	   r         皙?ri   rk   r   ru   rw   )r   varrU   rW   r7   pdf_varr   r-   r   r+   r.   rp   )r    rq   r   rm   pdf_var2s        r!   test_pdf_varz'TestDistributionStatistics.test_pdf_var   s"   6$)"---
0BB*$$&& (333 ^^^djoq&88s	
 	
 	
 	
 g|44444'1:..... m6$)"1555
8JJ:%%1#%663vh(*+++++++r#   c                    t          j        | j        d          | j        j        z  }| j                                        }t          ||           t          |g d| j        j        z  d           t          |t                    rJ t          |t          j
                  sJ |dz  }| j                            |          }||u sJ t          j        ||k              sJ d S )Nre   rf   rN   r   ri   rk   rl   )r   medianrU   rW   r7   
pdf_medianr   r-   r   r+   r.   rp   )r    rq   r   rm   pdf_median2s        r!   test_pdf_medianz*TestDistributionStatistics.test_pdf_median   s    9TYR0004:?BZ**,,
 X666 \\\DJO-KRUVVVV j,77777*aj11111 3j+++44c!!!!vkX-.......r#   zno scipy)reasonc                    t          j        | j        dd          }t          j        t          j        | j        |z
            d          | j        j        z  }| j                                        }t          ||           | j                                        }t          ||t          z  d           t          |g d| j        j        z  d           t          |t                    rJ t          |t          j                  sJ t          |t                    rJ t          |t          j                  sJ |d	z  }| j                            |
          }||u sJ t          j        ||k              sJ d S )Nre   T)rg   keepdimsrf   gh㈵>ri   rQ   rh   rk   rl   )r   r   rU   absrW   r7   pdf_madr   pdf_smadSMAD_FACTORr-   r   r+   r.   rp   )r    r   rq   r   r   rm   	pdf_smad2s          r!   test_pdf_mad_smadz,TestDistributionStatistics.test_pdf_mad_smad   sp    492===9RVDI$677bAAADJOS*$$&& (333:&&(( 7[+@tLLLL <<<$*/+IPTUUUU g|44444'1:.....h55555(AJ///// nJ''C'00	Cvi8+,,,,,,,r#   c                 4   t          j        | j        g dd          | j        j        z  }| j                            g d          }t          ||           |j        dk    sJ t          |t                    rJ t          |t          j                  sJ d S )N)
   2   Z   re   rf   )rP   r   )r   
percentilerU   rW   r7   pdf_percentilesr   rZ   r-   r   r+   r.   )r    rq   percss      r!   test_percentilez*TestDistributionStatistics.test_percentile   s    =LLLrBBBTZ_T
**<<<88 111{f$$$$ e\22222%,,,,,,,r#   c                    | j         g dt          j        z  z   }t          j        | j        d          t          j        g d          z   | j         j        z  }t          |	                                |           t          j
        | j        d          | j         j        dz  z  }t          |                                |           d S )Ni  r   r   i  re   rf   )rO   r   r         ?rO   )rW   r+   pcr   r   rU   r   r7   r   r   r   r   )r    	distrplusrq   s      r!   test_add_quantityz,TestDistributionStatistics.test_add_quantity   s    J!2!2!2QT!99	Idib)))BH^^^,D,DDJO 	!!5!5!7!7BBB6$)"---
0BB !2!2!4!4h?????r#   c                    t           j                            dd          t          j        g d          d d t           j        f         z  t          j        g d          d d t           j        f         z   }t          |t          j        z            }| j        |z   }t          j	        | j
        |dz  z   d          | j        j        z  }t          |                                |           t          j        | j
        |dz  z   d          | j        j        dz  z  }t          |                                |           d S )	Nr   rS   )r   g{Gz?P   r   r   r   re   rf   rO   )r   r   randnr   r   r   r+   r   rW   r   rU   r7   r   r   r   r   )r    another_dataanother_distrcombined_distrrq   s        r!   test_add_distributionz0TestDistributionStatistics.test_add_distribution   s&   IOOAu%%1E1E1E(F(Fqqq"*}(UUh((())!!!RZ-89 	
 %\AD%899m39TY)<<2FFFX !:!:!<!<hGGG F49|d22<<<tzPQ?QQ 	 	!!7!7!9!98DDDDDr#   N)r=   r>   r?   r"   r[   r^   ra   rc   rs   r{   r   r   rE   markskipifr
   r   r   r   r   rA   r#   r!   rK   rK   D   s       5 5 5; ; ;
5 5 5
- - -( ( (- - -$, , ,&, , ,*/ / /$ [Ij99- - :9-.	- 	- 	-@ @ @E E E E Er#   rK   c                     g dt           j        z  } t          d          5  t          j        | g dt           j        z  d          }|j        j        dk    sJ |j        dk    sJ |j        t           j        k    sJ t          j	        |
                                dt           j        z  k              sJ t          j        | g dt           j        z  d          }|j        j        d	k    sJ |j        dk    sJ |j        t           j        k    sJ t          j	        |
                                dt           j        z  k               sJ 	 d d d            d S # 1 swxY w Y   d S )
Nr   rM   g?g      ?r   r   d   )rx   r`   r   r   rY    N  )r   r   )r+   rV   r	   dsrT   r0   rZ   r7   r   rp   ry   r   )centerqn_distn_dist2s      r!   test_helper_normal_samplesr      s   oo%G			 6 67(8(8(815(@CPPP"(H4444|t####{ae####vfnn&&qt344444)G)9)9)9AD)@ERRR#)Z7777}$$$$|qu$$$$vgoo''#*45555556 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6 6s   D+EE!Ec                  8   g dt           j        z  } t          d          5  t          j        | d          }|j        dk    sJ |j        j        dk    sJ |j        t           j        k    sJ t          j	        |          }t          |t                    sJ |j        dk    sJ t          j        |dk              sJ t          j        t          j        |                                | z
            | k               sJ 	 d d d            d S # 1 swxY w Y   d S )	Nr   rM   r   r`   rY   r   rA   r   )r+   countr	   r   r   rZ   r0   r7   r   minr-   r   rp   r   ro   )centerqcountsp_distp_mins      r!   test_helper_poisson_samplesr      sr   #OOag-M			 	Q 	QMS999|t####"(H4444{ag%%%%v%.....{b    veqj!!!!!vbfV__..>??-OPPPPPP	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Q 	Qs   C DDDc                  f   t          j        ddgt          j        z  ddgt          j        z  d          } | j        dk    sJ | j        j        dk    sJ t          j        t          j        | j        d	
          ddgt          j        z  k              sJ t          j        t          j	        | j        d	
          ddgt          j        z  k               sJ t          j        g dt          j
        z  g dt          j
        z  d          } | j        dk    sJ | j        j        dk    sJ t          j        t          j        | j        d	
          g dt          j
        z  k              sJ t          j        t          j	        | j        d	
          g dt          j
        z  k               sJ d S )Nr   rO   rP   r   r   )lowerupperr`   )rO   )rO   r   re   rf   )r   rP   rO   )r   r   rP   )centerwidthr`   )rP   )rP   r   )g      r   r   )      @r   r   )r   uniformr+   rV   rZ   r0   r   rp   r   maxr   )udists    r!   test_helper_uniform_samplesr   
  s   JaVae^Aq6AE>TRRRE;$#y00006"&+"555AFGGGGG6"&+"555AFGGGGG Jiii!$.iii!$6FRVWWWE;$#y00006"&+"5558MMNNNNN6"&+"5558LLMMMMMMMr#   c                  :   t          j        d           g dt          j        z  } t	          j        | g dt          j        z             t	          j        | g dt          j        dz  z             t	          j        | g dt          j        d	z  z  
           d S )N-distribution stretch goal not yet implementedr   r   )rx   )g{Gz?g      @r~   r   rO   )r   )r   g#q?g      ?r   )ivar)rE   skipr+   rV   r   rT   r   s    r!   test_helper_normal_exactr     s    
K?@@@oo%GIg+++ae34444Ig...9::::Ig666BCCCCCCr#   c                  <   t          j        d           g dt          j        z  } t	          j        | d           t          j        t          j        d          5  g dt          j        z  } t	          j        | d           d d d            d S # 1 swxY w Y   d S )Nr   r   r   r   zFPoisson distribution can only be computed for dimensionless quantitiesrC   )	rE   r   r+   oner   r   rF   
UnitsErrorrV   r   s    r!   test_helper_poisson_exactr   !  s    
K?@@@oo%GJw$''''		W
 
 
 , , "//AE)

7d++++, , , , , , , , , , , , , , , , , ,s   (BBBc                  
   t          j        d                              dd          } t          | t          j        z            }dt          |          v sJ dt          |          v sJ d|                                v sJ d S )Nr   rP   r   zn_samples=10zn_{\rm samp}=10)	r   arangereshaper   r+   rV   reprstr_repr_latex_)darrrW   s     r!   
test_reprsr   .  s    9R==  B''D&&ET%[[((((SZZ''''!3!3!5!5555555r#   z	func, kwsrO   )r   rx   )r   r   r   c                    t          j        t                    5  |                                }d|d<    | di |j        dk    sJ 	 d d d            n# 1 swxY w Y   |                                }d|d<    | di |j        dk    sJ d S )Nr   n_sampler`   rA   )rE   rF   	Exceptioncopyr`   )funckwskw_temps      r!   test_wrong_kw_failsr   8  s     
y	!	! 0 0((**!
tg(C/////0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 hhjjGGK4??'??$++++++s   -AAAc                     t           j                            dd          } t          | t          j        z            }|\  }}t          |t                    sJ t          |t                    sJ t          j        ddgt          j        z  ddgt          j        z  d          }|\  }}t          |t          j                  sJ t          |t          j                  sJ d S NrO   r   r   rP   r   )r   rx   r`   )	r   r   r   r   r+   rV   r-   r   rT   )arrrW   d1qd2qndistrn1n2s          r!   test_index_assignment_quantityr   M  s    
)//!T
"
"Cqu%%EHCc<(((((c<(((((Yq!fqun1a&15.DQQQFFBb"/*****b"/*******r#   c                  z   t           j                            dd          } t          |           }|\  }}t	          |t                    sJ t	          |t                    sJ t          j        ddgddgd          }|\  }}t	          |t
          j                  sJ t	          |t
          j                  sJ d S r   )r   r   r   r   r-   r   rT   )r   rW   d1ad2ar   r   r   s          r!   test_index_assignment_arrayr   Z  s    
)//!T
"
"CEHCc<(((((c<(((((Yq!f1a&DAAAFFBb"/*****b"/*******r#   c                      t           j                            ddd          } t          |           }|                    d          \  }}|j        dk    sJ |j        dk    sJ d S )NrO   rP   r   r   )bins)rO   rP   r   )rO   rP      )r   r   r   r   pdf_histogramrZ   )r   rW   histr   s       r!   test_histogramr   g  sl    
)//!Q
%
%CE$$"$--JD$:####:######r#   c                      t           j                            dd          } t          | d          rt	          j        d           t          |           }|                                J d S )Nr   r   r   z4in this version of numpy, ndarray has a _repr_latex_)r   r   r   hasattrrE   r   r   r   )r   rW   s     r!   test_array_repr_latexr   p  sh    
 )//!T
"
"CsN## LJKKKE'''''r#   c                  H   t          j        dt          j        z  ddt          j        z            } |                     t          j                  }t          |                                                     t          j                  |                                           d S Nr   r   r   )r`   rx   )r   rT   r+   cmtomr   ro   )rW   todistrs     r!   test_distr_tor   ~  sq    Ib14i3AH===EhhqsmmGU^^--0055w7G7G7I7IJJJJJr#   c                      t          j        ddd          } t          j        t                    5  |                     t          j                   d d d            d S # 1 swxY w Y   d S r   )r   rT   rE   rF   AttributeErrorr   r+   r   rW   s    r!   test_distr_noq_tor    s    IbCQ///E	~	&	&                       AA"%A"c                  V   t          j        dt          j        z  ddt          j        z            } |                     t          j                  }t          j        |                                                     t          j                  |                                          sJ d S r   )	r   rT   r+   r   to_valuer   r   allclosero   )rW   tovdistrs     r!   test_distr_to_valuer    s{    Ib14i3AH===E~~ac""H;u~~''0055x7H7H7J7JKKKKKKKr#   c                      t          j        ddd          } t          j        t                    5  |                     t          j                   d d d            d S # 1 swxY w Y   d S r   )r   rT   rE   rF   r   r  r+   r   r   s    r!   test_distr_noq_to_valuer	    s    IbCQ///E	~	&	&  qs                 r  c                  ^   t          g d          } t          | d          }||z   }t          |t                    sJ t          |t                     sJ ||z  }t          |t                    rJ t          |t          j                  sJ t          |t                     sJ ||z  }t          |t                    sJ t          |t                     sJ t          |j        |j                   t          j        t          j	                  5  ||z  }d d d            d S # 1 swxY w Y   d S Ng       @g      @g      @deg)
r   r   r-   r+   r.   r   r0   rE   rF   UnitTypeError)rW   ad
ad_plus_adad_times_ads       r!   test_distr_angler    sm   ))E	ue		BbJj%(((((j,/////r'K+u-----k1:.....k<00000"HBb%     b,'''''r
(?@@@	q	'	'  
b                 s   D""D&)D&c                     t          g d          } t          | d          }|                    t          j                  }t          |t                    rJ t          |t          j                  sJ t          |t                     sJ |                    |j                  }t          |t                    rJ t          |t          j                  sJ t          |t                     sJ t          |j        |j                   |                    |j	        |j                  }t          |t                    rJ t          |t          j                  sJ t          |t                     sJ t          |j        |j                   d S r  )
r   r   viewr+   r.   r-   	__class__r   r0   dtype)rW   r  qdqd2qd3s        r!   !test_distr_angle_view_as_quantityr    s[   ))E	ue		B			B"e$$$$$b!*%%%%%b,'''''
''",

C#u%%%%%c1:&&&&&c<(((((s'999
''"(BL
)
)C#u%%%%%c1:&&&&&c<(((((s'99999r#   c                  r   t          g d          } t          j        t          d          5  |                     t          j        d                     d d d            n# 1 swxY w Y   t          | d          }t          j        t          d          5  |                    t          j        d                     d d d            n# 1 swxY w Y   t          j        t          d          5  |                    t          j        d          t                      d d d            d S # 1 swxY w Y   d S )Nr  zwith a new dtyperC   f8r  )r   rE   rF   
ValueErrorr  r   r  r   )rW   r  s     r!    test_distr_cannot_view_new_dtyper    s   
 ))E	z);	<	<	< # #

28D>>"""# # # # # # # # # # # # # # # 
ue		B	z);	<	<	<    
                              
z);	<	<	< . .
---. . . . . . . . . . . . . . . . . .s5   (A!!A%(A%(CCC1.D,,D03D0c            	      L   t          g dt          j        z            } t          j        |           }t          |t                     sJ t          |t          j                  sJ t          |t          t          j        g dt          j        z                                 d S )Ng     V@      >@rk   )r   r+   r  r   sinr-   r.   r   )angles
sin_angless     r!   !test_scalar_quantity_distributionr%    s    +++ae344FJj,/////j!*-----z<7H7H7H157P0Q0Q#R#RSSSSSr#   opc                   0    e Zd Zed             Zd Zd ZdS )TestComparisonc                 j    t          g d          | _         G d d          } |            | _        d S )Nr   c                   $    e Zd ZdZd Zd Zd ZdS ),TestComparison.setup_class.<locals>.OverrideNc                     dS )NeqrA   r    others     r!   __eq__z3TestComparison.setup_class.<locals>.Override.__eq__      tr#   c                     dS )NnerA   r.  s     r!   __ne__z3TestComparison.setup_class.<locals>.Override.__ne__  r1  r#   c                     dS )NgtrA   r.  s     r!   __lt__z3TestComparison.setup_class.<locals>.Override.__lt__  r1  r#   )r=   r>   r?   __array_ufunc__r0  r4  r7  rA   r#   r!   Overrider+    sF        "O        r#   r9  )r   doverride)clsr9  s     r!   r"   zTestComparison.setup_class  sS    ...//
	 
	 
	 
	 
	 
	 
	 
	  xzzr#   c           	           || j         d          }t          |t           || j         j        d                               d S )Nrk   )r:  r   r   r0   r    r&  results      r!   5test_distribution_can_be_compared_to_non_distributionzDTestComparison.test_distribution_can_be_compared_to_non_distribution  sB    DFC6<463F0L0L#M#MNNNNNr#   c                 L     || j         | j                  }||j        k    sJ d S r%   )r:  r;  r=   r>  s      r!   -test_distribution_comparison_defers_correctlyz<TestComparison.test_distribution_comparison_defers_correctly  s0    DFDM**$$$$$$r#   N)r=   r>   r?   r@   r"   r@  rB  rA   r#   r!   r(  r(    sN        " " [""O O O% % % % %r#   r(  c                       e Zd Zd Zd ZdS )TestSetItemWithSelectionc                 x    t          g d          }d||dk    <   t          |t          g d                     d S )Nr   rk   r   )rk   r!  rk   r   r   r    r:  s     r!   test_setitemz%TestSetItemWithSelection.test_setitem  sH    ***++!b&	1l+;+;+;<<=====r#   c                     t          g d          }||dk    xx         dz  cc<   t          |t          g d                     d S )Nr   r   g      )g     Vr!  rk   rF  rG  s     r!   test_inplace_operationz/TestSetItemWithSelection.test_inplace_operation   sU    ***++	!b&			T			1l+=+=+=>>?????r#   N)r=   r>   r?   rH  rJ  rA   r#   r!   rD  rD    s7        > > >
@ @ @ @ @r#   rD  );operatornumpyr   rE   numpy.testingr   astropyr   r+   astropy.coordinatesr   astropy.tests.helperr   astropy.uncertaintyr   r   astropy.uncertainty.corer   astropy.utilsr	   "astropy.utils.compat.optional_depsr
   scipy.statsr   ppfr   r   rI   rK   r   r   r   r   r   r   r   parametrizerT   r   r   r   r   r   r   r   r   r   r  r  r	  r  r  r  r%  r-  r3  r6  r(  rD  rA   r#   r!   <module>rX     s         , , , , , ,       % % % % % % 9 9 9 9 9 9 3 3 3 3 3 3 1 1 1 1 1 1 ) ) ) ) ) ) 8 8 8 8 8 8 %      hdhtnn$K#R #R #R #R #R #R #R #RL& & &cE cE cE cE cE cE cE cEL6 6 6"Q Q QN N ND D D
, 
, 
,6 6 6 	q++,	q1--.	h]#	q17{1qw;??@	q17{Q[AAB	hAG,-
 
, ,
 
,
+ 
+ 
+
+ 
+ 
+$ $ $( ( (K K K  L L L    ,: : :*. . .$T T T X[(+FGG% % % % % % % HG%8	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@ 	@r#   