§
    µ³ÙgR  ã                   óT  — d dl mZ d dl mZ d dlZd dlZd dlmZ ddl	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZ d dlmZmZ d dlmZ g d¢g d	¢fZe ej        e¬
¦  «        dggz  ZddhZddiZ d„ Z!ej"         #                    d e!¦   «         ¦  «        d„ ¦   «         Z$ej"         #                    de¦  «        d„ ¦   «         Z%ej"         #                    de¦  «        d„ ¦   «         Z&ej"         #                    de¦  «        d„ ¦   «         Z'ej"         #                    de¦  «        d„ ¦   «         Z(d„ Z)d„ Z*d„ Z+d„ Z,d„ Z-d „ Z.ej"         #                    d!g d"¢¦  «        ej"         #                    d#e¦  «        d$„ ¦   «         ¦   «         Z/ej"         #                    d#e¦  «        d%„ ¦   «         Z0d&„ Z1ej"         #                    d' e1¦   «         ¦  «        d(„ ¦   «         Z2d)„ Z3ej"         #                    d*e¦  «        d+„ ¦   «         Z4ej"         5                    d,¦  «        d-„ ¦   «         Z6d.„ Z7dS )/é    N)Úassert_allclose)Ústatsé   )Úcheck_normalizationÚcheck_momentÚcheck_mean_expectÚcheck_var_expectÚcheck_skew_expectÚcheck_kurt_expectÚcheck_entropyÚcheck_private_entropyÚcheck_edge_supportÚcheck_named_argsÚcheck_random_state_propertyÚcheck_picklingÚcheck_rvs_broadcastÚcheck_freezing)ÚdistdiscreteÚinvdistdiscrete)Úrv_discrete_frozen)r   é   é   é   )çš™™™™™¹?çš™™™™™É?g333333Ó?gš™™™™™Ù?©Úvalues© ÚzipfianÚ
nhypergeomÚnbinomé   c               #   óâ   K  — t          ¦   «         } t          D ]V\  }}|t          v r*t          j        |||t          j        j        ¬¦  «        V — n	|||| vfV — |                      |¦  «         ŒWd S )N)Úmarks)Úsetr   ÚdistslowÚpytestÚparamÚmarkÚslowÚadd)ÚseenÚdistnameÚargs      ú[/granary/edev/quantum/lib/python3.11/site-packages/scipy/stats/tests/test_discrete_basic.pyÚcases_test_discrete_basicr0      s‹   è è € Ý‰5Œ5€DÝ%ð ð ‰ˆ�#Ø•xÐÐÝ”,˜x¨¨h½f¼kÔ>NÐOÑOÔOÐOÐOÐOÐOà˜C °Ð!5Ð5Ð5Ð5Ð5Ø�Š�ÑÔÐÐðð ó    zdistname,arg,first_casec                 ó”  — 	 t          t          | ¦  «        }n# t          $ r | }d} Y nw xY wt          j                             d¦  «          |j        |ddiŽ}t          j        |¦  «        } |j        |Ž \  }}t          |||| dz   ¦  «         t          ||| ¦  «         t          |||| dz   ¦  «         t          ||¦  «         d}t          ||||| dz   ¦  «         |rèd	}	|j        |j        |j        |j        |j        g}
d
ddddœ}|                     | d¦  «        }t'          ||||	|
¦  «         | dk    rt)          |¦  «         t+          ||¦  «         | dvrt-          ||¦  «         t/          ||¦  «         t1          ||| ¦  «         |j        j        t          j        j        k    rt9          ||t          j        ¦  «         d S d S d S )Núsample distributioniP• ÚsizeiÐ  z cdf_ppfz othç{®Gáz„?z
 chisquare)r   é   r   r   é   )ÚrandintÚ	hypergeomÚ	bernoulliÚnchypergeom_walleniusr   >   Úpoisson_binom)Úgetattrr   Ú	TypeErrorÚnpÚrandomÚseedÚrvsÚuniqueÚcheck_cdf_ppfÚcheck_pmf_cdfÚ	check_othr   Úcheck_discrete_chisquareÚpmfÚlogpmfÚcdfÚlogcdfÚlogsfÚgetr   Úcheck_scale_docstringr   r   r   r   Ú	__class__Ú_entropyÚrv_discreter   )r-   r.   Ú
first_caseÚdistfnrB   ÚsuppÚmÚvÚalphaÚlocscale_defaultsÚmethsÚspec_kÚks                r/   Útest_discrete_basicr\   &   s(  € ð)Ý� Ñ)Ô)ˆˆøÝð )ð )ð )ØˆØ(ˆˆˆð)øøøõ „I‡N‚N�7ÑÔÐØ
ˆ&Œ* Ð
%˜$Ð
%Ð
%€CÝŒ9�S‰>Œ>€DØˆ6Œ<˜Ð�D€A€qÝ�&˜#˜t X°
Ñ%:Ñ;Ô;Ð;å�&˜#˜xÑ(Ô(Ð(Ýˆf�c˜4 ¨FÑ!2Ñ3Ô3Ð3Ý�v˜sÑ#Ô#Ð#à€EÝ˜V S¨#¨uØ%¨Ñ4ñ6ô 6ð 6ð ð BØ ÐØ”˜Vœ]¨F¬J¸¼Ø”ðˆð  ¨a¸aØ+,ð.ð .ˆà�JŠJ�x Ñ#Ô#ˆÝ˜  CÐ):¸EÑBÔBÐBØÐ,Ò,Ð,Ý! &Ñ)Ô)Ð)Ý# F¨CÑ0Ô0Ð0ØÐ,Ð,Ð,Ý˜6 3Ñ'Ô'Ð'Ý�v˜sÑ#Ô#Ð#õ 	�f˜c 8Ñ,Ô,Ð,ØÔÔ$­Ô(9Ô(BÒBÐBÝ! &¨#­uÔ/@ÑAÔAÐAÐAÐAð)Bð Bð& CÐBs   ‚ ˜)¨)zdistname,argc           	      ó^  — 	 t          t          | ¦  «        }n# t          $ r | }d} Y nw xY w |j        |ddiŽ\  }}}}t          ||| ¦  «         t	          ||||| ¦  «         t          |||| ¦  «         t          ||||| ¦  «         t          |||||| ¦  «         t          j	         
                    ¦   «         5 }| dv r|                     t          ¦  «         t          |||||| ¦  «         d d d ¦  «         n# 1 swxY w Y   t          |||d¦  «         t          |||||z  z   d¦  «         d S )Nr3   ÚmomentsÚmvsk)ÚzipfÚ
betanbinomr   r   )r=   r   r>   r   r   r   r	   r
   r?   ÚtestingÚsuppress_warningsÚfilterÚRuntimeWarningr   Úcheck_moment_frozen)r-   r.   rS   rU   rV   Úsr[   Úsups           r/   Útest_momentsri   R   s¡  € ð)Ý� Ñ)Ô)ˆˆøÝð )ð )ð )ØˆØ(ˆˆˆð)øøøð �”˜sÐ3¨FÐ3Ð3�J€A€qˆ!ˆQÝ˜  XÑ.Ô.Ð.õ �˜˜a  HÑ-Ô-Ð-Ý�f˜c 1 hÑ/Ô/Ð/Ý�V˜S ! Q¨Ñ1Ô1Ð1Ý�f˜c 1 a¨¨HÑ5Ô5Ð5Ý	Œ×	%Ò	%Ñ	'Ô	'ð :¨3ØÐ-Ð-Ð-Ø�JŠJ•~Ñ&Ô&Ð&Ý˜& # q¨!¨Q°Ñ9Ô9Ð9ð:ð :ð :ñ :ô :ð :ð :ð :ð :ð :ð :øøøð :ð :ð :ð :õ ˜  Q¨Ñ*Ô*Ð*Ý˜  Q q¨¡s¡U¨AÑ.Ô.Ð.Ð.Ð.s   ‚ ˜)¨)Â93C8Ã8C<Ã?C<zdist,shape_argsc           
      óò  — | dv }	 t          t          | ¦  «        }n%# t          $ r | }d| j        ›d| j        ›d�} Y nw xY wt          j        d¦  «        }|j        }g }g }| dk    rIt          j        dd¦  «        }||f}d	}t          || |||t          j
        t          ¦  «        g¦  «         d S t          |¦  «        D ]]}	|	d
z   fd|	dz   z  z   }
||	         }|                     t          j        |
|¦  «        ¦  «         |                     d|
d         ¦  «         Œ^|                     |¦  «         |                     |j        ¦  «         t          || |||t          j
        t          ¦  «        g¦  «         d S )N)Ú	betabinomra   ÚskellamÚ	yulesimonÚdlaplaceÚnchypergeom_fisherr;   r<   zrv_discrete(values=(z, z))r   r<   )r   r   é
   ç      à?)r   r   r   )r   r   r   )r=   r   r>   ÚxkÚpkr?   ÚzerosÚnumargsÚfullr   ÚdtypeÚintÚrangeÚappendÚinsertr4   )ÚdistÚ
shape_argsÚ
shape_onlyÚdistfuncÚlocÚnargsÚallargsÚbshapeÚpr[   ÚshpÚ	param_vals               r/   Útest_rvs_broadcastr‡   k   s¸  € ð ð Dð D€JðAÝ�5 $Ñ'Ô'ˆˆøÝð Að Að AØˆØ@ d¤gÐ@Ð@°4´7Ð@Ð@Ð@ˆˆˆðAøøøõ Œ(�1‰+Œ+€CØÔ€EØ€GØ€FàˆÒÐåŒG�J Ñ$Ô$ˆØ�c�(ˆØˆÝ˜H d¨GØ" Jµ´½#±´°ñ	Aô 	Að 	Aàˆõ �5‰\Œ\ð !ð !ˆØ�1‰uˆh˜˜q 1™u™Ñ%ˆØ˜q”Mˆ	Ø�Š•r”w˜s IÑ.Ô.Ñ/Ô/Ð/Ø�Š�a˜˜QœÑ Ô Ð Ð Ø‡N‚N�3ÑÔÐØ
‡M‚M�#”(ÑÔÐõ Ø�$˜ ¨µb´h½s±m´m°_ñô ð ð ð s   † œ>½>z	dist,argsc           
      ó¼  — 	 t          t          | ¦  «        }n# t          $ r | }Y nw xY wt          j                             d¦  «         t          j                             dd¦  «        dt          j                             dd¦  «        g} |j        |Ž \  }}|D ]B}t          j	        |dz
  |z   ||z   g |j
        dg|¢R d|iŽ |j
        d	g|¢R d|iŽg¦  «         ŒCd S )
NéM£ éöÿÿÿéÿÿÿÿr   r   rp   ç        r€   ç      ð?)r=   r   r>   r?   r@   rA   r8   ÚsupportÚnptÚassert_array_equalÚppf)r|   ÚargsrS   Úre_locsÚ_aÚ_br€   s          r/   Útest_ppf_with_locr–   œ   s  € ðÝ� Ñ%Ô%ˆˆøÝð ð ð Øˆˆˆðøøøõ „I‡N‚N�7ÑÔÐÝŒy× Ò   bÑ)Ô)¨1­b¬i×.?Ò.?ÀÀ2Ñ.FÔ.FÐG€GØˆVŒ^˜TÐ"�F€BˆØð ð ˆÝÔØ�‰T�#‰X�r˜#‘vÐØˆVŒZ˜Ð,˜dÐ,Ð,Ð,¨Ð,Ð,¨j¨f¬j¸Ð.M¸tÐ.MÐ.MÐ.MÈÐ.MÐ.MÐNñ	ô 	ð 	ð 	ðð ó   ‚ ˜'¦'z
dist, argsc                 ó  — 	 t          t          | ¦  «        }n# t          $ r | }Y nw xY wt          j                             d¦  «         t          j                             dd¦  «        dt          j                             dd¦  «        g} |j        |Ž \  }}|D ]F}||z   |dz
  |z   f} |j        dg|¢R d|iŽ |j        d	g|¢R d|iŽf}t          j
        ||¦  «         ŒGt          j                             ddd
¬¦  «        t          j        d
¦  «        t          j                             ddd
¬¦  «        g} |j        |Ž \  }}|D ]F}||z   |dz
  |z   f} |j        dg|¢R d|iŽ |j        d	g|¢R d|iŽf}t          j
        ||¦  «         ŒGd S )Nr‰   rŠ   r‹   r   r   rp   rŒ   r€   r�   )é   r   ©r4   )r=   r   r>   r?   r@   rA   r8   rŽ   Úisfr�   r�   rt   )	r|   r’   rS   r“   r”   r•   r€   ÚexpectedÚress	            r/   Útest_isf_with_locrž   ­   sô  € ðÝ� Ñ%Ô%ˆˆøÝð ð ð Øˆˆˆðøøøõ „I‡N‚N�7ÑÔÐÝŒy× Ò   bÑ)Ô)¨1­b¬i×.?Ò.?ÀÀ2Ñ.FÔ.FÐG€GØˆVŒ^˜TÐ"�F€BˆØð .ð .ˆØ˜‘8˜R !™V c™\Ð)ˆØˆfŒj˜Ð,˜dÐ,Ð,Ð,¨Ð,Ð,¨j¨f¬j¸Ð.L¸dÐ.LÐ.LÐ.LÈÐ.LÐ.LÐLˆÝÔ˜x¨Ñ-Ô-Ð-Ð-åŒy× Ò   b¨vÐ Ñ6Ô6ÝŒx˜ÑÔÝŒy× Ò   B¨VÐ Ñ4Ô4ð6€Gð ˆVŒ^˜TÐ"�F€BˆØð .ð .ˆØ˜‘8˜R !™V c™\Ð)ˆØˆfŒj˜Ð,˜dÐ,Ð,Ð,¨Ð,Ð,¨j¨f¬j¸Ð.L¸dÐ.LÐ.LÐ.LÈÐ.LÐ.LÐLˆÝÔ˜x¨Ñ-Ô-Ð-Ð-ð.ð .r—   c                 ó  —  | j         |g|¢R Ž }t                               | j        d¦  «        }||t	          j        |¦  «        z  z
  }t          j         | j        |g|¢R Ž ||dz   ¦  «         t          j         | j         | j         |g|¢R Ž dz
  g|¢R Ž ||dz   ¦  «         t          | d¦  «        sW | j
        |Ž \  }}|||k              }	t          j         | j         | j         |	g|¢R Ž dz   g|¢R Ž |	| j        z   |dz   ¦  «         d S d S )Né   z
-roundtripç:Œ0âŽyE>rr   z ppf-cdf-next)rJ   Úroundtrip_cdf_ppf_exceptionsrM   Únamer?   Úspacingr�   r�   r‘   ÚhasattrrŽ   Úinc)
rS   r.   rT   ÚmsgÚcdf_suppÚn_ulpsÚ	cdf_supp0r”   r•   Úsupp1s
             r/   rD   rD   Æ   sx  € ð ˆvŒz˜$Ð% Ð%Ð%Ð%€Hõ *×-Ò-¨f¬k¸2Ñ>Ô>€FØ˜6¥"¤*¨XÑ"6Ô"6Ñ6Ñ6€IÝÔ˜:˜6œ: iÐ6°#Ð6Ð6Ð6Ø  |Ñ!3ñ5ô 5ð 5õ Ô˜:˜6œ: j f¤j°Ð&<¸Ð&<Ð&<Ð&<¸tÑ&CÐJÀcÐJÐJÐJØ  |Ñ!3ñ5ô 5ð 5õ �6˜4Ñ Ô ð JØ�” Ð%‰ˆˆBØ�T˜B’Y”ˆÝÔ˜z˜vœz¨*¨&¬*°UÐ*A¸SÐ*AÐ*AÐ*AÀDÑ*HÐOÈ3ÐOÐOÐOØ$ v¤zÑ1°3¸Ñ3Hñ	Jô 	Jð 	Jð 	Jð 	JðJð Jr1   c           	      óP  — t          | d¦  «        r| j        }n>t           | j        dg|¢R Ž dz
  ¦  «        }t	          t          ||dz   ¦  «        ¦  «        } | j        |g|¢R Ž } | j        |g|¢R Ž                      ¦   «         }d\  }}|dk    rd\  }}t          j
        ||d         z
  ||d         z
  ||¬	¦  «         t          j        |¦  «        }	|	d d
…         t          j        |	¦  «        dz  z   }
t          j         | j        |
g|¢R Ž d¦  «         d} | |d|iŽ}t          j
        |                     |	dd …         |z   ¦  «        t          j        |                     |	|z   ¦  «        ¦  «        ¦  «         t          j        |                     |
|z   ¦  «        d¦  «         d S )Nrr   r5   r   rp   )ç»½×Ùß|Û=r­   rl   )çñhãˆµøä>r®   r   ©ÚatolÚrtolr‹   r   rq   r€   )r¥   rr   rx   r‘   Úlistry   rJ   rH   Úcumsumr�   r   r?   ÚasarrayÚdiffÚassert_equal)rS   r.   r-   ÚindexÚstartindÚcdfsÚpmfs_cumr°   r±   r[   Ú	k_shiftedr€   r|   s                r/   rE   rE   à   sÌ  € Ýˆv�tÑÔð 5Ø”	ˆˆå�z�v”z $Ð-¨Ð-Ð-Ð-°Ñ1Ñ2Ô2ˆÝ•U˜8 X°¡]Ñ3Ô3Ñ4Ô4ˆØˆ6Œ:�eÐ"˜cÐ"Ð"Ð"€DØˆvŒz˜%Ð& #Ð&Ð&Ð&×-Ò-Ñ/Ô/€Hà�J€Dˆ$Ø�9ÒÐØ‰
ˆˆdÝÔ˜˜t Aœw™¨°8¸A´;Ñ(>Ø!¨ð.ñ .ô .ð .õ 	Œ
�5ÑÔ€AØ�#�2�#”�œ ™œ A™Ñ%€IÝÔ�Z�V”Z 	Ð0¨CÐ0Ð0Ð0°!Ñ4Ô4Ð4ð €CØˆ6˜CÐ �cÐ Ð €DÝÔ˜Ÿš  1 2 2¤¨¡Ñ-Ô-­r¬w°t·x²xÀÀCÁÑ7HÔ7HÑ/IÔ/IÑJÔJÐJÝÔ�T—X’X˜i¨#™oÑ.Ô.°Ñ2Ô2Ð2Ð2Ð2r1   c                 ób   — t          j         | |Ž                      |¦  «        |dd¬¦  «         d S )Nr­   r¯   )r�   r   Úmoment)rS   r.   rU   r[   s       r/   rf   rf   û   sC   € ÝÔ˜˜ ˜×+Ò+¨AÑ.Ô.°Ø"¨ð0ñ 0ô 0ð 0ð 0ð 0r1   c                 ó¶  — t          j         | j        |g|¢R Ž d | j        |g|¢R Ž z
  dd¬¦  «         t	          j        ddd¦  «        }t          j         | j        |g|¢R Ž  | j        d|z
  g|¢R Ž dd¬¦  «          | j        dg|¢R Ž }t          j         | j        |dz
  g|¢R Ž dk    ¦  «         t          j         | j        |dz   g|¢R Ž dk    ¦  «         d S )	Nr�   r­   r¯   r5   ç®Gáz®ï?é   rq   r   )	r�   r   ÚsfrJ   r?   Úlinspacer›   r‘   Úassert_)rS   r.   rT   r§   ÚqÚ	median_sfs         r/   rF   rF      s1  € åÔ˜	˜œ	 $Ð-¨Ð-Ð-Ð-¨r°J°F´J¸tÐ4JÀcÐ4JÐ4JÐ4JÑ/JØ"¨ð0ñ 0ô 0ð 0õ 	Œ�D˜$ Ñ#Ô#€AÝÔ˜
˜œ
 1Ð+ sÐ+Ð+Ð+¨Z¨V¬Z¸¸Q¹Ð-EÀÐ-EÐ-EÐ-EØ"¨ð0ñ 0ô 0ð 0ð �”
˜3Ð% Ð%Ð%Ð%€IÝ„K�	�”	˜) a™-Ð.¨#Ð.Ð.Ð.°Ò4Ñ5Ô5Ð5Ý„K�
�”
˜9 q™=Ð/¨3Ð/Ð/Ð/°#Ò5Ñ6Ô6Ð6Ð6Ð6r1   c                 óp  — d} | j         |Ž \  }}t          t          |d¦  «        ¦  «        }t          t          |d¦  «        ¦  «        dz   }	t	          ||	¦  «        }
d}|g}g }|
D ]V} | j        |g|¢R Ž }||z
  |dz
  k    r:|                     |¦  «         |                     ||z
  ¦  «         |}|d|z
  k    r nŒW|d         |k     r-|                     |¦  «         |                     d|z
  ¦  «         t          j        |¦  «        }t          j        |¦  «        }|dz   }||d<   t          j	        ||¦  «        \  }}t          j        t          j        |¦  «        t          |¦  «        |z  ¦  «        \  }}t          j        ||k    d	|› d
t          |¦  «        › dt          |¦  «        › �¦  «         dS )as  Perform chisquare test for random sample of a discrete distribution

    Parameters
    ----------
    distname : string
        name of distribution function
    arg : sequence
        parameters of distribution
    alpha : float
        significance level, threshold for p-value

    Returns
    -------
    result : bool
        0 if test passes, 1 if test fails

    gš™™™™™©?iüÿÿiè  r   r   g›+¡†›„=r‹   r¡   zchisquare - test for z
 at arg = z with pval = N)rŽ   rx   ÚmaxÚminry   rJ   rz   r?   ÚarrayÚ	histogramr   Ú	chisquareÚlenr�   rÃ   Ústr)rS   r.   rB   rW   r§   Úwsuppr”   r•   ÚloÚhighÚdistsupportÚlastÚdistsuppÚdistmassÚiiÚcurrentÚhistsuppÚfreqÚhsuppÚchisÚpvals                        r/   rG   rG     sÛ  € ð$ €Eð ˆVŒ^˜SÐ!�F€BˆÝ	�S��U‰^Œ^Ñ	Ô	€BÝ�s�2�t‰}Œ}ÑÔ Ñ!€DÝ˜˜D‘/”/€KØ€DØˆt€HØ€HØð ð ˆØ�&”*˜RÐ& #Ð&Ð&Ð&ˆØ�T‰>˜U U™]Ò*Ð*Ø�OŠO˜BÑÔÐØ�OŠO˜G d™NÑ+Ô+Ð+ØˆDØ˜!˜e™)Ò$Ð$Ø�øØ�„|�bÒÐØ�Š˜ÑÔÐØ�Š˜˜D™Ñ!Ô!Ð!ÝŒx˜Ñ!Ô!€HÝŒx˜Ñ!Ô!€Hð ˜$‰€HØ€HˆQ�Kõ ”,˜s HÑ-Ô-�K€Dˆ%Ý”¥¤¨$¡¤µ°S±´¸(Ñ1BÑCÔC�J€Dˆ$å„KØˆuŠØQ ÐQÐQ­s°3©x¬xÐQÐQÅcÈ$ÁiÄiÐQÐQñô ð ð ð r1   c                 óN   — | j         �t          j        d| j         v¦  «         d S d S )NÚscale)Ú__doc__r�   rÃ   )rS   s    r/   rN   rN   G  s/   € Ø„~Ð!åŒ�G 6¤>Ð1Ñ2Ô2Ð2Ð2Ð2ð "Ð!r1   Úmethod)rH   rI   rJ   rK   rÁ   rL   r‘   r›   zdistname, argsc                 ó,  ‡— 	 t          t          |¦  «        }n# t          $ r Y d S w xY wt          || ¦  «        Š| dv rddg}nddg}d„ |D ¦   «         }ddg} ‰|g|¢R d|iŽ}t          j        |ˆfd„t          |g|¢|‘R Ž D ¦   «         d	d	¬
¦  «         d S )N)r‘   r›   r   r   r   r   c                 ó   — g | ]}|gd z  ‘Œ	S )r   r   )Ú.0r„   s     r/   ú
<listcomp>z+test_methods_with_lists.<locals>.<listcomp>\  s   € Ð	Ð	Ð	�Aˆ1ˆ#ˆa‰%Ð	Ð	Ð	r1   r€   c                 ó   •— g | ]} ‰|Ž ‘ŒS r   r   )râ   rV   Údist_methods     €r/   rã   z+test_methods_with_lists.<locals>.<listcomp>`  s   ø€ ÐCÐCÐC¨Q˜˜ a˜ÐCÐCÐCr1   çVçž¯Ò<)r±   r°   )r=   r   r>   r�   r   Úzip)	rß   r-   r’   r|   ÚzÚp2r€   Úresultrå   s	           @r/   Útest_methods_with_listsrë   M  sû   ø€ ðÝ•u˜hÑ'Ô'ˆˆøÝð ð ð Øˆˆðøøøå˜$ Ñ'Ô'€KØ�ÐÐØ�#ˆJˆˆà�ˆFˆØ	Ð	˜Ð	Ñ	Ô	€BØˆaˆ&€CØˆ[˜Ð)˜RÐ)Ð)Ð) SÐ)Ð)€FÝÔ˜ØCÐCÐCÐCµ#°aÐ2B¸"Ð2B¸cÐ2BÐ2BÐ2BÐCÑCÔCØ"¨ð0ñ 0ô 0ð 0ð 0ð 0s   ƒ ™
'¦'c                 ó¸   — t          t          | ¦  «        }t          j        dd¦  «        } |j        |g|¢R Ž }t          j        }t          j        ||¦  «         d S )Néþÿÿÿr    )r=   r   r?   ÚarangerJ   Únanr�   r¶   )r-   r’   r|   ÚxÚvalsrœ   s         r/   Útest_cdf_gh13280_regressionrò   d  s]   € õ •5˜(Ñ#Ô#€DÝ
Œ	�"�bÑÔ€AØˆ4Œ8�AÐ˜ÐÐÐ€DÝŒv€HÝÔ�T˜8Ñ$Ô$Ð$Ð$Ð$r1   c               #   óœ  K  — dhdhdœ} t          ¦   «         }t          D ]¬\  }}||v rŒ
|                     |¦  «         	 t          t          |¦  «        }n# t
          $ r Y ŒBw xY w|                     ¦   «         }t          |¦  «        D ]B\  }}|j        |  	                    |t          ¦   «         ¦  «        v s|j
        sŒ6||j        |fV — ŒCŒ­d S )NÚn)r!   ra   )r%   r   r+   r=   r   r>   Ú_shape_infoÚ	enumerater£   rM   Úintegrality)Úintegrality_exceptionsr,   r-   Úshapesr|   Ú
shape_infoÚiÚshapes           r/   Ú"cases_test_discrete_integer_shapesrý   n  s  è è € ð *-¨¸c¸UÐCÐCÐå‰5Œ5€DÝ(ð /ð /Ñˆ�&Ø�tÐÐØØ�Š�ÑÔÐð	Ý�5 (Ñ+Ô+ˆDˆDøÝð 	ð 	ð 	ØˆHð	øøøð ×%Ò%Ñ'Ô'ˆ
å! *Ñ-Ô-ð 	/ð 	/‰HˆAˆuØ”
Ð4×8Ò8¸Å3Á5Ä5ÑIÔIÐIÐIØÔ)ð Jàà˜EœJ¨Ð.Ð.Ð.Ð.Ð.ð	/ð/ð /s   ¿AÁ
A"Á!A"zdistname, shapename, shapesc                 ó¤  — t          t          | ¦  «        }|                     ¦   «         }d„ |D ¦   «         }|                     |¦  «        }t	          |¦  «        }||         }|dz
  }	|dz
  }
|g|	g|
gg||<    |j        |Ž \  }}t          j        t          j        ||d¦  «        ¦  «        } |j	        |g|¢R Ž }t          j
        t          j        |dd d …f         ¦  «        ¦  «        rJ ‚t          j        t          j        |dd d …f         ¦  «        ¦  «        sJ ‚t          j
        t          j        |dd d …f         ¦  «        ¦  «        rJ ‚d S )Nc                 ó   — g | ]	}|j         ‘Œ
S r   )r£   )râ   rü   s     r/   rã   z'test_integer_shapes.<locals>.<listcomp>�  s   € Ð6Ð6Ð6 %�5”:Ð6Ð6Ð6r1   rq   r   r™   r   r   )r=   r   rõ   r·   r²   rŽ   r?   ÚroundrÂ   rH   ÚanyÚisnanÚall)r-   Ú	shapenamerù   r|   rú   Úshape_namesrû   Úshapes_copyÚvalid_shapeÚinvalid_shapeÚnew_valid_shapeÚaÚbrð   rH   s                  r/   Útest_integer_shapesr  ˆ  sZ  € õ •5˜(Ñ#Ô#€DØ×!Ò!Ñ#Ô#€JØ6Ð6¨:Ð6Ñ6Ô6€KØ×Ò˜)Ñ$Ô$€Aå�v‘,”,€Kà˜”)€KØ #Ñ%€MØ! A‘o€OØ"�m m _°Ð6GÐH€K��Nàˆ4Œ<˜Ð �D€A€qÝ
Œ•”˜Q  1Ñ%Ô%Ñ&Ô&€Aà
ˆ$Œ(�1Ð
#�{Ð
#Ð
#Ð
#€CÝŒv•b”h˜s 1 a a a 4œyÑ)Ô)Ñ*Ô*Ð*Ð*Ð*ÝŒ6•"”(˜3˜q ! ! !˜tœ9Ñ%Ô%Ñ&Ô&Ð&Ð&Ð&ÝŒv•b”h˜s 1 a a a 4œyÑ)Ô)Ñ*Ô*Ð*Ð*Ð*Ð*Ð*r1   c                  óì  — d} t          j        t          | ¬¦  «        5  t          j        dd¦  «        j         d d d ¦  «         n# 1 swxY w Y   t          j        t          | ¬¦  «        5  t          j        dd¦  «        j         d d d ¦  «         n# 1 swxY w Y   dt          j        _        t          j        dd¦  «        }t          |t          ¦  «        sJ ‚t          t          j        d¦  «         d S )Nz,'rv_discrete_frozen' object has no attribute)Úmatchrp   rq   ÚherringÚpdf)
r'   ÚraisesÚAttributeErrorr   Úbinomr  ÚlogpdfÚ
isinstancer   Údelattr)ÚmessageÚfrozen_binoms     r/   Útest_frozen_attributesr     sP  € ð =€GÝ	Œ•~¨WÐ	5Ñ	5Ô	5ð !ð !ÝŒ�B˜ÑÔÔ Ð ð!ð !ð !ñ !ô !ð !ð !ð !ð !ð !ð !øøøð !ð !ð !ð !å	Œ•~¨WÐ	5Ñ	5Ô	5ð $ð $ÝŒ�B˜ÑÔÔ#Ð#ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $à…E„K„OÝ”;˜r 3Ñ'Ô'€LÝ�lÕ$6Ñ7Ô7Ð7Ð7Ð7Ý�EŒK˜ÑÔÐÐÐs#   žAÁA	ÁA	Á+BÂBÂBzdistname, shapesc                 óf  — t          | t          ¦  «        rt          t          | ¦  «        }n| } |j        |Ž \  }}t          j         |j        ddgg|¢R Ž |dz
  |f¦  «         t          j         |j        ddgg|¢R Ž |dz
  |f¦  «         t          j         |j	        dg|¢R Ž |dz
  |f¦  «         d S )Nr   r   )
r  rÍ   r=   r   rŽ   r�   r¶   r‘   r›   Úinterval)r-   rù   r|   r
  r  s        r/   Útest_intervalr  ®  sÙ   € õ �(�CÑ Ô ð Ý•u˜hÑ'Ô'ˆˆàˆØˆ4Œ<˜Ð �D€A€qÝÔ�X�T”X˜q !˜fÐ. vÐ.Ð.Ð.°°1±°a°Ñ9Ô9Ð9ÝÔ�X�T”X˜q !˜fÐ. vÐ.Ð.Ð.°°1±°a°Ñ9Ô9Ð9ÝÔ�]�T”] 1Ð. vÐ.Ð.Ð.°°1±°a°Ñ9Ô9Ð9Ð9Ð9r1   zSensible to machine precisionc            	      óX  ‡— t           j                             d¦  «        } t          j        |                      d¦  «        dz  ¦  «        }|                      d¦  «        }|t          j        |¦  «        z  }t          j        ||f¬¦  «        Št          j        dg|d d…                              ¦   «         z   ¦  «        |z   dz  }t          j        |dd …                              ¦   «         |d         dz   gz   ¦  «        |z   dz  }t          j	        |¦  «        }t          j        dg|d d…                              ¦   «         z   ¦  «        |z   dz  }t          j        |dd …                              ¦   «         dgz   ¦  «        |z   dz  }‰ 
                    ¦   «         \  }}	t          ||d         ¦  «         t          |	|d         ¦  «         t          ‰                     |¦  «        |¦  «         t          ‰                     |¦  «        d¦  «         t          ‰                     |¦  «        d¦  «         t          j        d¬	¦  «        5  t          ‰                     |¦  «        t          j        |¦  «        ¦  «         t          ‰                     |¦  «        t           j         ¦  «         t          ‰                     |¦  «        t           j         ¦  «         d d d ¦  «         n# 1 swxY w Y   t          ‰                     |¦  «        |¦  «         t          ‰                     |¦  «        |¦  «         t          ‰                     |¦  «        dg|d d…                              ¦   «         z   ¦  «         t          j        d¬	¦  «        5  t          ‰                     |¦  «        t          j        ‰                     |¦  «        ¦  «        d
¬¦  «         t          ‰                     |¦  «        t          j        ‰                     |¦  «        ¦  «        d
¬¦  «         t          ‰                     |¦  «        t          j        ‰                     |¦  «        ¦  «        d
¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          ‰                     |¦  «        d‰                     |¦  «        z
  ¦  «         t          ‰                     |¦  «        d‰                     |¦  «        z
  ¦  «         t          ‰                     |¦  «        d‰                     |¦  «        z
  ¦  «         t          j        d¬	¦  «        5  t          ‰                     |¦  «        t          j        ‰                     |¦  «        ¦  «        d
¬¦  «         t          ‰                     |¦  «        t          j        ‰                     |¦  «        ¦  «        d
¬¦  «         t          ‰                     |¦  «        t          j        ‰                     |¦  «        ¦  «        d
¬¦  «         d d d ¦  «         n# 1 swxY w Y   t          ‰                     |¦  «        |¦  «         t          ‰                     |¦  «        |¦  «         t          ‰                     |¦  «        d d…         |dd …         ¦  «         t          ‰                     d¦  «        |dz
  ¦  «         t          ‰                     d¦  «        |	¦  «         ‰                     |¦  «        }
t          ‰                     |
¦  «        |¦  «         t          ‰                     d|z
  ¦  «        ‰                     |¦  «        ¦  «         t          ‰                     d|z
  ¦  «        ‰                     |¦  «        ¦  «         t          ‰                     d¦  «        |	¦  «         t          ‰                     d¦  «        |dz
  ¦  «         t          j        ddd¦  «        }‰                     |dz  ¦  «        ‰                     |dz  ¦  «        f}t          ‰                     d|z
  ¦  «        |¦  «         t          ‰                     d¦  «        ‰                     ¦   «         ¦  «         t          ‰                     d¦  «        |dz
  |	f¦  «         ‰                     d¦  «        }t          ‰                     ¦   «         |¦  «         t          j        ||z  ¦  «        }t          j        ||z
  dz  |z  ¦  «        }t          j        ||z
  dz  |z  ¦  «        |dz  z  }t          j        ||z
  dz  |z  ¦  «        |dz  z  dz
  }t          ‰                     ¦   «         |¦  «         t          ‰                     ¦   «         t          j        |¦  «        ¦  «         t          ‰                     ¦   «         |¦  «         t          ‰                     d¬¦  «        ||||f¦  «         t          j        |dz  |z  ¦  «        }t          ‰                     d¦  «        |¦  «         t          ‰                     d„ ¦  «        d¦  «         t          ‰                     ¦   «         |¦  «         t          ‰                     d„ ¦  «        |¦  «         t          j        d¬	¦  «        5  t          ‰                     ˆfd„¦  «         ‰                      ¦   «         ¦  «         d d d ¦  «         n# 1 swxY w Y   t           j                             d¦  «        } ‰ !                    d| ¬¦  «        }t           j                             d¦  «        } ‰                     |                      d¬¦  «        ¦  «        }t          ||¦  «         d S )Nl   íKÉU[ rp   r   r   r‹   r   r   Úignore)Údivideræ   )r°   r5   r¿   rq   r   g      ø?r   r_   )r^   c                 ó   — dS )Nr   r   ©rð   s    r/   ú<lambda>z test_rv_sample.<locals>.<lambda>%  s   € ¨!€ r1   c                 ó   — | dz  S )Nr   r   r!  s    r/   r"  z test_rv_sample.<locals>.<lambda>'  s
   € ¨!¨Q©$€ r1   c                 ó.   •— ‰                      | ¦  «        S )N)rI   )rð   r|   s    €r/   r"  z test_rv_sample.<locals>.<lambda>+  s   ø€ ¨t¯{ª{¸1©~¬~€ r1   éd   )r4   Úrandom_staterš   )"r?   r@   Údefault_rngÚsortÚsumr   rQ   rÉ   Útolistr³   rŽ   r   rH   ÚerrstaterI   ÚlogÚinfrJ   rK   rÁ   rL   r‘   r›   rÂ   r  ÚmedianÚmeanÚstdÚsqrtÚvarr½   ÚexpectÚentropyrB   )Úrngrr   rs   Úxk_leftÚxk_rightÚcdf2Ú	cdf2_leftÚ
cdf2_rightr
  r  Úsf2ÚpsÚint2Úmed2Úmean2Úvar2Úskew2Úkurt2Úmom3rB   Úrvs0r|   s                        @r/   Útest_rv_samplerE  ¾  s«
  ø€ õ
 Œ)×
Ò
 Ñ
,Ô
,€CÝ	Œ�—’˜B‘” "Ñ$Ñ	%Ô	%€BØ	�Š�B‰Œ€BØ�"Œ&�‰*Œ*Ñ€BÝÔ R¨ HÐ-Ñ-Ô-€Dõ Œx˜˜˜b  " œgŸnšnÑ.Ô.Ñ.Ñ/Ô/°"Ñ4°aÑ7€GÝ”˜˜A˜B˜BœŸš™œ¨B¨r¬F°1©H¨:Ñ5Ñ6Ô6¸Ñ;¸QÑ>€Hõ Œ9�R‰=Œ=€DÝ”˜1˜#  S b S¤	× 0Ò 0Ñ 2Ô 2Ñ2Ñ3Ô3°dÑ:¸AÑ=€IÝ”(˜4   œ8Ÿ?š?Ñ,Ô,°¨sÑ2Ñ3Ô3°dÑ:¸AÑ=€Jð �<Š<‰>Œ>�D€A€qÝ�A�r˜!”uÑÔÐÝ�A�r˜"”vÑÔÐõ �D—H’H˜R‘L”L "Ñ%Ô%Ð%Ý�D—H’H˜XÑ&Ô&¨Ñ*Ô*Ð*Ý�D—H’H˜WÑ%Ô% qÑ)Ô)Ð)õ 
Œ˜HÐ	%Ñ	%Ô	%ð 7ð 7Ý˜Ÿš B™œ­¬°©¬Ñ4Ô4Ð4Ý˜Ÿš HÑ-Ô-µ´¨wÑ7Ô7Ð7Ý˜Ÿš GÑ,Ô,­r¬v¨gÑ6Ô6Ð6ð7ð 7ð 7ñ 7ô 7ð 7ð 7ð 7ð 7ð 7ð 7øøøð 7ð 7ð 7ð 7õ �D—H’H˜R‘L”L $Ñ'Ô'Ð'Ý�D—H’H˜XÑ&Ô&¨Ñ-Ô-Ð-Ý�D—H’H˜WÑ%Ô%¨ s¨4°°°¬9×+;Ò+;Ñ+=Ô+=Ñ'=Ñ>Ô>Ð>å	Œ˜HÐ	%Ñ	%Ô	%ð $ð $Ý˜Ÿš B™œ­¬°·²¸±´Ñ)=Ô)=Ø"ð	$ñ 	$ô 	$ð 	$å˜Ÿš HÑ-Ô-­r¬v°d·h²h¸xÑ6HÔ6HÑ/IÔ/IØ"ð	$ñ 	$ô 	$ð 	$å˜Ÿš GÑ,Ô,­b¬f°T·X²X¸gÑ5FÔ5FÑ.GÔ.GØ"ð	$ñ 	$ô 	$ð 	$ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $õ �D—G’G˜B‘K”K  4§8¢8¨B¡<¤<¡Ñ0Ô0Ð0Ý�D—G’G˜HÑ%Ô% q¨¯ª°(Ñ);Ô);Ñ';Ñ<Ô<Ð<Ý�D—G’G˜GÑ$Ô$ a¨¯ª°Ñ(9Ô(9Ñ&9Ñ:Ô:Ð:å	Œ˜HÐ	%Ñ	%Ô	%ð $ð $Ý˜Ÿ
š
 2™œ­¬¨t¯wªw°r©{¬{Ñ(;Ô(;Ø"ð	$ñ 	$ô 	$ð 	$å˜Ÿ
š
 8Ñ,Ô,­b¬f°T·W²W¸XÑ5FÔ5FÑ.GÔ.GØ"ð	$ñ 	$ô 	$ð 	$å˜Ÿ
š
 7Ñ+Ô+­R¬V°D·G²G¸GÑ4DÔ4DÑ-EÔ-EØ"ð	$ñ 	$ô 	$ð 	$ð$ð $ð $ñ $ô $ð $ð $ð $ð $ð $ð $øøøð $ð $ð $ð $õ �D—H’H˜T‘N”N BÑ'Ô'Ð'Ý�D—H’H˜YÑ'Ô'¨Ñ,Ô,Ð,Ý�D—H’H˜ZÑ(Ô(¨¨"¨Ô-¨r°!°"°"¬vÑ6Ô6Ð6Ý�D—H’H˜Q‘K”K  Q¡Ñ'Ô'Ð'Ý�D—H’H˜Q‘K”K Ñ#Ô#Ð#ð �'Š'�"‰+Œ+€CÝ�D—H’H˜S‘M”M 2Ñ&Ô&Ð&Ý�D—H’H˜Q˜y™[Ñ)Ô)¨4¯8ª8°IÑ+>Ô+>Ñ?Ô?Ð?Ý�D—H’H˜Q˜z™\Ñ*Ô*¨D¯HªH°ZÑ,@Ô,@ÑAÔAÐAÝ�D—H’H˜Q‘K”K Ñ#Ô#Ð#Ý�D—H’H˜Q‘K”K  Q¡Ñ'Ô'Ð'õ 
Œ�T˜4 Ñ	$Ô	$€BØ�8Š8�B�q‘D‰>Œ>˜4Ÿ8š8 B q¡D™>œ>Ð)€DÝ�D—M’M ! B¡$Ñ'Ô'¨Ñ.Ô.Ð.Ý�D—M’M !Ñ$Ô$ d§k¢k¡m¤mÑ4Ô4Ð4Ý�D—M’M !Ñ$Ô$ q¨¡s¨A hÑ/Ô/Ð/ð �8Š8�C‰=Œ=€DÝ�D—K’K‘M”M 4Ñ(Ô(Ð(õ ŒF�2�b‘5‰MŒM€EÝŒ6�2˜‘: ‘/ BÑ&Ñ'Ô'€DÝŒF�B˜‘J ‘? RÑ'Ñ(Ô(¨4°#©;Ñ6€EÝŒF�B˜‘J ‘? RÑ'Ñ(Ô(¨4°©7Ñ2°QÑ6€EÝ�D—I’I‘K”K Ñ'Ô'Ð'Ý�D—H’H‘J”J¥¤¨¡¤Ñ.Ô.Ð.Ý�D—H’H‘J”J Ñ%Ô%Ð%Ý�D—J’J v�JÑ.Ô.°¸¸eÀUÐ0KÑLÔLÐLõ Œ6�2�q‘5˜B‘,ÑÔ€DÝ�D—K’K ‘N”N DÑ)Ô)Ð)õ �D—K’K  Ñ,Ô,¨aÑ0Ô0Ð0Ý�D—K’K‘M”M 5Ñ)Ô)Ð)Ý�D—K’K  Ñ/Ô/°Ñ6Ô6Ð6õ 
Œ˜HÐ	%Ñ	%Ô	%ð Pð PÝ˜ŸšÐ%=Ð%=Ð%=Ð%=Ñ>Ô>Ð>ÀÇÂÁÄÑOÔOÐOðPð Pð Pñ Pô Pð Pð Pð Pð Pð Pð Pøøøð Pð Pð Pð Põ Œ)×
Ò
 Ñ
,Ô
,€CØ
�(Š(˜¨#ˆ(Ñ
.Ô
.€CÝ
Œ)×
Ò
 Ñ
,Ô
,€CØ�8Š8�C—J’J C�JÑ(Ô(Ñ)Ô)€DÝ�C˜ÑÔÐÐÐsK   ÉBK*Ë*K.Ë1K.ÎCQ<Ñ<R ÒR ÕCX2Ø2X6Ø9X6ë:lìlìlc                  ó¶   —  G d„ dt           j        ¦  «        }  | dt          d¦  «        ¬¦  «        }|                     d¬¦  «        }t	          |d¦  «         d S )	Nc                   ó   — e Zd Zd„ ZdS )ú-test__pmf_float_input.<locals>.rv_exponentialc                 ó   — ddd|z
  z  z  S )NgUUUUUUå?r   r   r   )Úselfrû   s     r/   Ú_pmfz2test__pmf_float_input.<locals>.rv_exponential._pmf9  s   € Ø˜˜Q ™U™Ñ#Ð#r1   N)Ú__name__Ú
__module__Ú__qualname__rK  r   r1   r/   Úrv_exponentialrH  8  s#   € € € € € ð	$ð 	$ð 	$ð 	$ð 	$r1   rO  rŒ   r-  )r
  r  é*   )r&  r   )r   rQ   ÚfloatrB   r   )rO  ÚrvrB   s      r/   Útest__pmf_float_inputrS  4  st   € ð$ð $ð $ð $ð $�Ô*ñ $ô $ð $ð 
ˆ˜#¥ u¡¤Ð	.Ñ	.Ô	.€BØ
�&Š&˜bˆ&Ñ
!Ô
!€CÝ�C˜ÑÔÐÐÐr1   )8Únumpy.testingrb   r�   r   Únumpyr?   r'   Úscipyr   Úcommon_testsr   r   r   r	   r
   r   r   r   r   r   r   r   r   r   Úscipy.stats._distr_paramsr   r   Ú!scipy.stats._distn_infrastructurer   rñ   rQ   r&   r¢   r0   r)   Úparametrizer\   ri   r‡   r–   rž   rD   rE   rf   rF   rG   rN   rë   rò   rý   r  r  r  Úxfail_on_32bitrE  rS  r   r1   r/   ú<module>r\     s=  ðØ Ð Ð Ð Ð Ð Ø )Ð )Ð )Ð )Ð )Ð )à Ð Ð Ð Ø €€€à Ð Ð Ð Ð Ð ð,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð ,ð DÐ CÐ CÐ CÐ CÐ CÐ CÐ CØ @Ð @Ð @Ð @Ð @Ð @àˆˆÐ*Ð*Ð*Ð+€Ø Ð#�%Ô#¨4Ð0Ñ0Ô0°"Ð5Ð6Ñ 6€ð �|Ð$€ð !)¨"˜~Ð ðð ð ð „×ÒÐ2Ð4MÐ4MÑ4OÔ4OÑPÔPð(Bð (Bñ QÔPð(BðV „×Ò˜¨Ñ6Ô6ð/ð /ñ 7Ô6ð/ð0 „×ÒÐ*¨LÑ9Ô9ð-ð -ñ :Ô9ð-ð` „×Ò˜ lÑ3Ô3ðð ñ 4Ô3ðð  „×Ò˜ |Ñ4Ô4ð.ð .ñ 5Ô4ð.ð0Jð Jð Jð43ð 3ð 3ð60ð 0ð 0ð
7ð 7ð 7ð6ð 6ð 6ðr3ð 3ð 3ð „×Ò˜ð $Að $Að $Añ Bô Bà„×ÒÐ)¨<Ñ8Ô8ð0ð 0ñ 9Ô8ñBô Bð0ð( „×ÒÐ)¨?Ñ;Ô;ð%ð %ñ <Ô;ð%ð/ð /ð /ð4 „×ÒÐ6Ø;Ð;Ñ=Ô=ñ?ô ?ð+ð +ñ?ô ?ð+ð, ð  ð  ð „×ÒÐ+¨\Ñ:Ô:ð:ð :ñ ;Ô:ð:ð „×ÒÐ;Ñ<Ô<ðsð sñ =Ô<ðsðj
ð 
ð 
ð 
ð 
r1   