Ë
    1Ò^jàX  ã                   ó¾  — d dl Z 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 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	jB                  e ¬«      dggz  ZdhZ"ddiZ#d„ Z$ejJ                  jM                  d e' e$«       «      «      d„ «       Z(ejJ                  jM                  de«      d„ «       Z)ejJ                  jM                  de«      d„ «       Z*ejJ                  jM                  de«      d„ «       Z+ejJ                  jM                  de«      d„ «       Z,d„ Z-d„ Z.d„ Z/d„ Z0d„ Z1d „ Z2ejJ                  jM                  d!g d"¢«      ejJ                  jM                  d#e«      d$„ «       «       Z3ejJ                  jM                  d#e«      d%„ «       Z4d&„ Z5ejJ                  jM                  d' e' e5«       «      «      d(„ «       Z6d)„ Z7ejJ                  jM                  d*e«      d+„ «       Z8ejJ                  js                  d,«      d-„ «       Z:d.„ Z;d/„ Z<ejJ                  jM                  d0e	jz                  e	j|                  g«      d1„ «       Z?y)2é    N)Úassert_allclose)Ústats)Ú_ufuncsé   )Ú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© Ú
nhypergeomÚnbinomé   c               #   óè   K  — t        «       } t        D ][  \  }}|t        v r4t        j                  |||t        j
                  j                  ¬«      –— n	|||| vf–— | j                  |«       Œ] y ­w)N)Úmarks)Úsetr   ÚdistslowÚpytestÚparamÚmarkÚslowÚadd)ÚseenÚdistnameÚargs      úp/var/www/ramen.bs-engineer-server.com/venv/lib/python3.12/site-packages/scipy/stats/tests/test_discrete_basic.pyÚcases_test_discrete_basicr0      se   è ø€ Ü‹5€DÜ%ò ‰ˆ�#Ø”xÑÜ—,‘,˜x¨¨h¼f¿k¹k×>NÑ>NÔOÓOà˜C °Ð!5Ð5Ò5Ø�‰�Õñùs   ‚A0A2zdistname,arg,first_casec                 ó  — t        | t        «      r,| j                  d«      r|dkD  rt        j                  d¬«       	 t        t        | «      }t        j                  j                  d«      } |j                  |d|dœŽ}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œ}|j/                  | d«      }t1        |||||«       | dk7  rt3        |«       |dk(  rt5        ||«       | dvrt7        ||«       t9        ||«       t;        ||| «       |j<                  j>                  t        j@                  j>                  k7  rtC        ||t        j@                  «       y y y # t        $ r | }d} Y �Œ¶w xY w)NÚnchypergeomr   z)nchypergeom has a global random generator)Úreasonúsample distributioniP• iÐ  ©ÚsizeÚrandom_statez cdf_ppfz othç{®Gáz„?z
 chisquare)r   é   r   r   é   )ÚrandintÚ	hypergeomÚ	bernoulliÚnchypergeom_wallenius>   Úpoisson_binom)"Ú
isinstanceÚstrÚ
startswithr'   ÚskipÚgetattrr   Ú	TypeErrorÚnpÚrandomÚRandomStateÚ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Únum_parallel_threadsÚdistfnÚrngrI   ÚsuppÚmÚvÚalphaÚlocscale_defaultsÚmethsÚspec_kÚks                  r/   Útest_discrete_basicre   )   sï  € ä�8œSÔ! h×&9Ñ&9¸-Ô&HØ$ qÒ(Ü�‰ÐFÕGð)Üœ Ó)ˆô �)‰)×
Ñ
 Ó
(€CØ
ˆ&�*‰*�c °3Ò
7€CÜ�9‰9�S‹>€DØˆ6�<‰<˜Ð�D€A€qÜ�&˜#˜t X°
Ñ%:Ô;ä�&˜#˜xÔ(Üˆf�c˜4 ¨FÑ!2Ô3Ü�v˜sÔ#à€EÜ˜V S¨#¨uØ%¨Ñ4ô6ñ Ø ÐØ—‘˜VŸ]™]¨F¯J©J¸¿¹Ø—‘ðˆð  ¨a¸aØ+,ñ.ˆà�J‰J�x Ó#ˆÜ˜  CÐ):¸EÔBØÐ,Ò,Ü! &Ô)Ø 1Ò$Ü'¨°Ô4ØÐ0Ñ0Ü˜v sÔ+Ü�v˜sÔ#ô 	�f˜c 8Ô,Ø×Ñ×$Ñ$¬×(9Ñ(9×(BÑ(BÒBÜ! &¨#¬u×/@Ñ/@ÕAð Cð) øô# ò )ØˆØ(‹ð)ús   ¾G4 Ç4HÈHzdistname,argc           	      óþ  — 	 t        t        | «      } |j                  |ddiŽ\  }}}}t        ||| «       t	        ||||| «       t        |||| «       t        ||||| «       t        |||||| «       t        j                  «       5  | dv rt        j                  dt        «       t        |||||| «       d d d «       t        |||d«       t        |||||z  z   d«       y # t        $ r | }d} Y ŒÝw xY w# 1 sw Y   Œ?xY w)Nr4   ÚmomentsÚmvsk)ÚzipfÚ
betanbinomÚignorer   r   )rD   r   rE   r   r   r	   r
   r   ÚwarningsÚcatch_warningsÚsimplefilterÚRuntimeWarningr   Úcheck_moment_frozen)r-   r.   r[   r^   r_   Úsrd   s          r/   Útest_momentsrr   Z   s  € ð)Üœ Ó)ˆð �—‘˜sÐ3¨FÑ3�J€A€qˆ!ˆQÜ˜  XÔ.ô �˜˜a  HÔ-Ü�f˜c 1 hÔ/Ü�V˜S ! Q¨Ô1Ü�f˜c 1 a¨¨HÔ5Ü	×	 Ñ	 Ó	"ñ :ØÐ-Ñ-Ü×!Ñ! (¬NÔ;Ü˜& # q¨!¨Q°Ô9÷:ô ˜  Q¨Ô*Ü˜  Q q¨¡s¡U¨AÕ.øô% ò )ØˆØ(Šð)ú÷:ð :ús   ‚C  Â/C3Ã C0Ã/C0Ã3C<zdist,shape_argsc           
      óÎ  — | dv }	 t        t        | «      }t        j                  d«      }|j                  }g }g }| dk(  rEt        j                  dd«      }||f}d	}t        || |||t        j                  t        «      g«       y t        |«      D ]P  }	|	d
z   fd|	dz   z  z   }
||	   }|j                  t        j                  |
|«      «       |j                  d|
d   «       ŒR |j                  |«       |j                  |j                  «       t        || |||t        j                  t        «      g«       y # t        $ r# | }d| j                  ›d| j                  ›d�} Y �ŒMw xY w)N)Ú	betabinomrj   ÚskellamÚ	yulesimonÚdlaplaceÚnchypergeom_fisherr>   r?   zrv_discrete(values=(z, z))r   r?   )r   r   é
   ç      à?)r   r   r   )r   r   r   )rD   r   rE   ÚxkÚpkrF   ÚzerosÚnumargsÚfullr   ÚdtypeÚintÚrangeÚappendÚinsertr6   )ÚdistÚ
shape_argsÚ
shape_onlyÚdistfuncÚlocÚnargsÚallargsÚbshapeÚprd   ÚshpÚ	param_vals               r/   Útest_rvs_broadcastr�   s   sf  € ð ð Dð D€JðAÜœ5 $Ó'ˆô �(‰(�1‹+€CØ×Ñ€EØ€GØ€FàˆÒä�G‰G�J Ó$ˆØ�c�(ˆØˆÜ˜H d¨GØ" J´·±¼#³°ô	Aàô �5‹\ò !ˆØ�1‰uˆh˜˜q 1™u™Ñ%ˆØ˜q‘Mˆ	Ø�‰”r—w‘w˜s IÓ.Ô/Ø�‰�a˜˜Q™Õ ð	!ð
 ‡N�N�3ÔØ
‡M�M�#—(‘(Ôô Ø�$˜ ¨´b·h±h¼s³m°_õøô7 ò AØˆØ% d§g¡g [°°4·7±7°+¸RÐ@‹ðAús   †D8 Ä8(E$Å#E$z	dist,argsc           
      ó˜  — 	 t        t        | «      }t        j                  j                  d«      }|j                  dd«      d|j                  dd«      g} |j                  |Ž \  }}|D ]M  }t        j                  |dz
  |z   ||z   g |j                  dg|¢­d|iŽ |j                  d	g|¢­d|iŽg«       ŒO y # t        $ r | }Y Œ¶w xY w)
Nl   o]ý` éöÿÿÿéÿÿÿÿr   r   ry   ç        r‰   ç      ð?)rD   r   rE   rF   rG   Údefault_rngÚintegersÚsupportÚnptÚassert_array_equalÚppf)r…   Úargsr[   r\   Úre_locsÚ_aÚ_br‰   s           r/   Útest_ppf_with_locr    ¤   sØ   € ðÜœ Ó%ˆô �)‰)×
Ñ
 
Ó
+€Cà�|‰|˜C Ó$ a¨¯©°a¸Ó)<Ð=€GØˆV�^‰^˜TÐ"�F€BˆØò ˆÜ×ÑØ�‰T�#‰X�r˜#‘vÐØˆV�Z‰Z˜Ð,˜dÒ,¨Ñ,¨j¨f¯j©j¸Ð.M¸tÒ.MÈÑ.MÐNõ	ñøô ò ØŠðús   ‚B; Â;C	ÃC	z
dist, argsc                 óê  — 	 t        t        | «      }t        j                  j                  d«      }|j                  dd«      d|j                  dd«      g} |j                  |Ž \  }}|D ]Q  }||z   |dz
  |z   f} |j                  dg|¢­d|iŽ |j                  d	g|¢­d|iŽf}	t        j                  ||	«       ŒS |j                  ddd
¬«      t        j                  d
«      |j                  ddd
¬«      g} |j                  |Ž \  }}|D ]Q  }||z   |dz
  |z   f} |j                  dg|¢­d|iŽ |j                  d	g|¢­d|iŽf}	t        j                  ||	«       ŒS y # t        $ r | }Y �Œ_w xY w)Nl   oy` r’   r“   r   r   ry   r”   r‰   r•   )é   r   ©r6   )rD   r   rE   rF   rG   r–   r—   r˜   Úisfr™   rš   r}   )
r…   rœ   r[   r\   r�   rž   rŸ   r‰   ÚexpectedÚress
             r/   Útest_isf_with_locr§   ¶   s–  € ðÜœ Ó%ˆô �)‰)×
Ñ
 
Ó
+€CØ�|‰|˜C Ó$ a¨¯©°a¸Ó)<Ð=€GØˆV�^‰^˜TÐ"�F€BˆØò .ˆØ˜‘8˜R !™V c™\Ð)ˆØˆf�j‰j˜Ð,˜dÒ,¨Ñ,¨j¨f¯j©j¸Ð.L¸dÒ.LÈÑ.LÐLˆÜ×Ñ˜x¨Õ-ð.ð
 �|‰|˜C ¨&ˆ|Ó1Ü�x‰x˜ÓØ�|‰|˜A˜r¨ˆ|Ó/ð1€Gð ˆV�^‰^˜TÐ"�F€BˆØò .ˆØ˜‘8˜R !™V c™\Ð)ˆØˆf�j‰j˜Ð,˜dÒ,¨Ñ,¨j¨f¯j©j¸Ð.L¸dÒ.LÈÑ.LÐLˆÜ×Ñ˜x¨Õ-ñ.øô ò Ø‹ðús   ‚E# Å#E2Å1E2c                 óZ  —  | j                   |g|¢­Ž }t        j                  | j                  d«      }||t	        j
                  |«      z  z
  }t        j                   | j                  |g|¢­Ž ||dz   «       t        j                   | j                   | j                   |g|¢­Ž dz
  g|¢­Ž ||dz   «       t        | d«      sg | j                  |Ž \  }}|||k     }	t        j                   | j                   | j                   |	g|¢­Ž dz   g|¢­Ž |	| j                  z   |dz   «       y y )Né   z
-roundtripç:Œ0âŽyE>r{   z ppf-cdf-next)rQ   Úroundtrip_cdf_ppf_exceptionsrT   ÚnamerF   Úspacingr™   rš   r›   Úhasattrr˜   Úinc)
r[   r.   r]   ÚmsgÚcdf_suppÚn_ulpsÚ	cdf_supp0rž   rŸ   Úsupp1s
             r/   rK   rK   Ï   s/  € ð ˆv�z‰z˜$Ð% Ò%€Hô *×-Ñ-¨f¯k©k¸2Ó>€FØ˜6¤"§*¡*¨XÓ"6Ñ6Ñ6€IÜ×Ñ˜:˜6Ÿ:™: iÐ6°#Ò6Ø  |Ñ!3ô5ô ×Ñ˜:˜6Ÿ:™: j f§j¡j°Ð&<¸Ò&<¸tÑ&CÐJÀcÒJØ  |Ñ!3ô5ô �6˜4Ô Ø�—‘ Ð%‰ˆˆBØ�T˜B‘Y‘ˆÜ×Ñ˜z˜vŸz™z¨*¨&¯*©*°UÐ*A¸SÒ*AÀDÑ*HÐOÈ3ÒOØ$ v§z¡zÑ1°3¸Ñ3Hõ	Jð !ó    c           	      ó,  — t        | d«      r| j                  }n7t         | j                  dg|¢­Ž dz
  «      }t	        t        ||dz   «      «      } | j                  |g|¢­Ž } | j                  |g|¢­Ž j                  «       }d\  }}|dk(  rd\  }}t        j                  ||d   z
  ||d   z
  ||¬	«       t        j                  |«      }	|	d d
 t        j                  |	«      dz  z   }
t        j                   | j                  |
g|¢­Ž d«       d} | |d|iŽ}t        j                  |j                  |	dd  |z   «      t        j                  |j                  |	|z   «      «      «       t        j                  |j                  |
|z   «      d«       y )Nr{   r8   r   ry   )ç»½×Ùß|Û=r·   ru   )çñhãˆµøä>r¸   r   ©ÚatolÚrtolr“   r   rz   r‰   )r®   r{   r�   r›   Úlistr‚   rQ   rO   Úcumsumr™   r   rF   ÚasarrayÚdiffÚassert_equal)r[   r.   r-   ÚindexÚstartindÚcdfsÚpmfs_cumrº   r»   rd   Ú	k_shiftedr‰   r…   s                r/   rL   rL   é   sv  € Üˆv�tÔØ—	‘	‰ä�z�v—z‘z $Ð-¨Ò-°Ñ1Ó2ˆÜ”U˜8 X°¡]Ó3Ó4ˆØˆ6�:‰:�eÐ"˜cÒ"€DØˆv�z‰z˜%Ð& #Ò&×-Ñ-Ó/€Hà�J€Dˆ$Ø�9ÒØ‰
ˆˆdÜ×Ñ˜˜t A™w™¨°8¸A±;Ñ(>Ø!¨õ.ô 	�
‰
�5Ó€AØ�#�2�œŸ™ › A™Ñ%€IÜ×Ñ�Z�V—Z‘Z 	Ð0¨CÒ0°!Ô4ð €CÙ˜CÐ �cÑ €DÜ×Ñ˜Ÿ™  1 2 ¨¡Ó-¬r¯w©w°t·x±xÀÀCÁÓ7HÓ/IÔJÜ×Ñ�T—X‘X˜i¨#™oÓ.°Õ2rµ   c                 óZ   — t        j                   | |Ž j                  |«      |dd¬«       y )Nr·   r¹   )r™   r   Úmoment)r[   r.   r^   rd   s       r/   rp   rp     s(   € Ü×Ñ™ ˜×+Ñ+¨AÓ.°Ø"¨ö0rµ   c                 ó   — t        j                   | j                  |g|¢­Ž d | j                  |g|¢­Ž z
  dd¬«       t	        j
                  ddd«      }t        j                   | j                  |g|¢­Ž  | j                  d|z
  g|¢­Ž dd¬«        | j                  dg|¢­Ž }t        j                   | j                  |dz
  g|¢­Ž dkD  «       t        j                   | j                  |dz   g|¢­Ž dkD  «       y )	Nr•   r·   r¹   r8   ç®Gáz®ï?é   rz   r   )	r™   r   ÚsfrQ   rF   Úlinspacer¤   r›   Úassert_)r[   r.   r]   r°   ÚqÚ	median_sfs         r/   rM   rM   	  sî   € ä×Ñ˜	˜Ÿ	™	 $Ð-¨Ò-¨r°J°F·J±J¸tÐ4JÀcÒ4JÑ/JØ"¨õ0ô 	�‰�D˜$ Ó#€AÜ×Ñ˜
˜Ÿ
™
 1Ð+ sÒ+¨Z¨V¯Z©Z¸¸Q¹Ð-EÀÒ-EØ"¨õ0ð �—
‘
˜3Ð% Ò%€IÜ‡K�K�	�—	‘	˜) a™-Ð.¨#Ò.°Ñ4Ô5Ü‡K�K�
�—
‘
˜9 q™=Ð/¨3Ò/°#Ñ5Õ6rµ   c                 ó&  — d} | j                   |Ž \  }}t        t        |d«      «      }t        t        |d«      «      dz   }	t	        ||	«      }
d}|g}g }|
D ]R  } | j
                  |g|¢­Ž }||z
  |dz
  k\  sŒ"|j                  |«       |j                  ||z
  «       |}|d|z
  kD  sŒR n |d   |k  r%|j                  |«       |j                  d|z
  «       t        j                  |«      }t        j                  |«      }|dz   }||d<   t        j                  ||«      \  }}t        j                  t        j                  |«      t        |«      |z  «      \  }}t        j                  ||kD  d	|› d
t        |«      › dt        |«      › �«       y)ap  Perform chisquare test for random sample of a discrete distribution

    Parameters
    ----------
    distname : str
        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˜   r�   ÚmaxÚminr‚   rQ   rƒ   rF   ÚarrayÚ	histogramr   Ú	chisquareÚlenr™   rÍ   rA   )r[   r.   rI   r`   r°   Úwsupprž   rŸ   ÚloÚhighÚdistsupportÚlastÚdistsuppÚdistmassÚiiÚcurrentÚhistsuppÚfreqÚhsuppÚchisÚpvals                        r/   rN   rN     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‰x˜Ó!€HÜ�x‰x˜Ó!€Hð ˜$‰€HØ€HˆQ�Kô —,‘,˜s HÓ-�K€Dˆ%Ü—‘¤§¡¨$£´°S³¸(Ñ1BÓC�J€Dˆ$ä‡K�KØˆu‰Ø
 ˜u J¬s°3«x¨j¸ÄcÈ$ÃiÀ[ÐQõrµ   c                 ó`   — | j                   �"t        j                  d| j                   v«       y y )NÚscale)Ú__doc__r™   rÍ   )r[   s    r/   rU   rU   P  s&   € Ø‡~�~Ð!ä�‰�G 6§>¡>Ð1Õ2ð "rµ   Úmethod)rO   rP   rQ   rR   rË   rS   r›   r¤   zdistname, argsc           	      ó<  — 	 t        t        |«      }t        || «      }| dv rddg}nddg}|D �cg c]  }|gdz  ‘Œ
 }}ddg} ||g|¢­d|iŽ}	t        j                  |	t        |g|¢|‘­Ž D �
cg c]  }
 ||
Ž ‘Œ	 c}
dd¬	«       y # t        $ r Y y w xY wc c}w c c}
w )
N)r›   r¤   r   r   r   r   r   r‰   çVçž¯Ò<)r»   rº   )rD   r   rE   r™   r   Úzip)rè   r-   rœ   r…   Údist_methodÚzr�   Úp2r‰   Úresultr_   s              r/   Útest_methods_with_listsrð   V  sÅ   € ðÜ”u˜hÓ'ˆô ˜$ Ó'€KØ�ÑØ�#ˆJ‰à�ˆFˆØÖ	�Aˆ1ˆ#ˆa‹%Ð	€BÐ	Øˆaˆ&€CÙ˜Ð)˜RÒ) SÑ)€FÜ×Ñ˜Ü25°aÐ2B¸"Ð2B¸cÒ2BÖC¨Q™ ašÒCØ"¨ö0øô ò Ùðüò 
ùò Ds   ‚B ¯BÁ.B
Â	BÂBc                 óÂ   — t        t        | «      }t        j                  dd«      } |j                  |g|¢­Ž }t        j
                  }t        j                  ||«       y )Néþÿÿÿr©   )rD   r   rF   ÚarangerQ   Únanr™   rÀ   )r-   rœ   r…   ÚxÚvalsr¥   s         r/   Útest_cdf_gh13280_regressionr÷   m  sN   € ô ”5˜(Ó#€DÜ
�	‰	�"�bÓ€AØˆ4�8‰8�AÐ˜Ò€DÜ�v‰v€HÜ×Ñ�T˜8Õ$rµ   c               #   ó„  K  — dhdhdœ} t        «       }t        D ]“  \  }}||v rŒ|j                  |«       	 t        t        |«      }|j                  «       }t        |«      D ]I  \  }}|j                  | j                  |t        «       «      v s|j                  sŒ9||j                  |f–— ŒK Œ• y # t
        $ r Y Œ¢w xY w­w)NÚn)r!   rj   )r%   r   r+   rD   r   rE   Ú_shape_infoÚ	enumerater¬   rT   Úintegrality)Úintegrality_exceptionsr,   r-   Úshapesr…   Ú
shape_infoÚiÚshapes           r/   Ú"cases_test_discrete_integer_shapesr  w  sÎ   è ø€ ð *-¨¸c¸UÑCÐä‹5€DÜ(ò /Ñˆ�&Ø�tÑØØ�‰�Ôð	Üœ5 (Ó+ˆDð ×%Ñ%Ó'ˆ
ä! *Ó-ò 	/‰HˆAˆuØ—
‘
Ð4×8Ñ8¸Ä3Ã5ÓIÑIØ×)Ò)Øà˜EŸJ™J¨Ð.Ó.ñ	/ñ/øô ò 	Ùð	üs)   ‚4C ·B1ÁA*C Â1	B=Â:C Â<B=Â=C zdistname, shapename, shapesc                 ó°  — t        t        | «      }|j                  «       }|D �cg c]  }|j                  ‘Œ }}|j	                  |«      }t        |«      }||   }	|	dz
  }
|	dz
  }|	g|
g|gg||<    |j                  |Ž \  }}t        j                  t        j                  ||d«      «      } |j                  |g|¢­Ž }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 ‚y c c}w )Nrz   r   r¢   r   r   )rD   r   rú   r¬   rÁ   r¼   r˜   rF   ÚroundrÌ   rO   ÚanyÚisnanÚall)r-   Ú	shapenamerþ   r…   rÿ   r  Úshape_namesr   Úshapes_copyÚvalid_shapeÚinvalid_shapeÚnew_valid_shapeÚaÚbrõ   rO   s                   r/   Útest_integer_shapesr  ‘  s6  € ô ”5˜(Ó#€DØ×!Ñ!Ó#€JØ+5Ö6 %�5—:“:Ð6€KÐ6Ø×Ñ˜)Ó$€Aä�v“,€Kà˜‘)€KØ #Ñ%€MØ! A‘o€OØ"�m m _°Ð6GÐH€K��Nàˆ4�<‰<˜Ð �D€A€qÜ
�‰”—‘˜Q  1Ó%Ó&€Aà
ˆ$�(‰(�1Ð
#�{Ò
#€CÜ�v‰v”b—h‘h˜s 1¢a 4™yÓ)Ô*Ð*Ð*Ü�6‰6”"—(‘(˜3˜q¢!˜t™9Ó%Ô&Ð&Ð&Ü�v‰v”b—h‘h˜s 1¢a 4™yÓ)Ô*Ð*Ð*Ð*ùò! 7s   ¥Ec                 óú  — d}t        j                  t        |¬«      5  t        j                  dd«      j
                   d d d «       t        j                  t        |¬«      5  t        j                  dd«      j                   d d d «       | j                  t        j                  ddd¬«       t        j                  dd«      }t        |t        «      sJ ‚t        |d«      rJ ‚y # 1 sw Y   Œ§xY w# 1 sw Y   ŒoxY w)	Nz,'rv_discrete_frozen' object has no attribute)Úmatchry   rz   ÚpdfÚherringF)Úraising)r'   ÚraisesÚAttributeErrorr   Úbinomr  ÚlogpdfÚsetattrr@   r   r®   )ÚmonkeypatchÚmessageÚfrozen_binoms      r/   Útest_frozen_attributesr  ©  sÆ   € ð =€GÜ	�‰”~¨WÔ	5ñ !Ü�‰�B˜Ó× Ò ÷!ä	�‰”~¨WÔ	5ñ $Ü�‰�B˜Ó×#Ò#÷$à×ÑœŸ™ U¨I¸uÐÔEÜ—;‘;˜r 3Ó'€LÜ�lÔ$6Ô7Ð7Ð7Ü�| UÔ+Ð+Ð+Ð+÷!ð !ú÷$ð $ús   ž!C%Á"!C1Ã%C.Ã1C:zdistname, shapesc                 ó~  — t        | t        «      rt        t        | «      }n| } |j                  |Ž \  }}t        j                   |j                  ddgg|¢­Ž |dz
  |f«       t        j                   |j                  ddgg|¢­Ž |dz
  |f«       t        j                   |j                  dg|¢­Ž |dz
  |f«       y )Nr   r   )
r@   rA   rD   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‘X˜q !˜fÐ. vÒ.°°1±°a°Ô9Ü×Ñ�X�T—X‘X˜q !˜fÐ. vÒ.°°1±°a°Ô9Ü×Ñ�]�T—]‘] 1Ð. vÒ.°°1±°a°Õ9rµ   zSensible to machine precisionc            	      ó¨  ‡— t         j                  j                  d«      } t        j                  | j                  d«      dz  «      }| j                  d«      }|t        j                  |«      z  }t        j                  ||f¬«      Št        j                  dg|d d j                  «       z   «      |z   dz  }t        j                  |dd  j                  «       |d   dz   gz   «      |z   dz  }t        j                  |«      }t        j                  dg|d d j                  «       z   «      |z   dz  }t        j                  |dd  j                  «       dgz   «      |z   dz  }‰j                  «       \  }}	t        ||d   «       t        |	|d   «       t        ‰j                  |«      |«       t        ‰j                  |«      d«       t        ‰j                  |«      d«       t        j                  d¬	«      5  t        ‰j                  |«      t        j                  |«      «       t        ‰j                  |«      t         j                    «       t        ‰j                  |«      t         j                    «       d d d «       t        ‰j#                  |«      |«       t        ‰j#                  |«      |«       t        ‰j#                  |«      dg|d d j                  «       z   «       t        j                  d¬	«      5  t        ‰j%                  |«      t        j                  ‰j#                  |«      «      d
¬«       t        ‰j%                  |«      t        j                  ‰j#                  |«      «      d
¬«       t        ‰j%                  |«      t        j                  ‰j#                  |«      «      d
¬«       d d d «       t        ‰j'                  |«      d‰j#                  |«      z
  «       t        ‰j'                  |«      d‰j#                  |«      z
  «       t        ‰j'                  |«      d‰j#                  |«      z
  «       t        j                  d¬	«      5  t        ‰j)                  |«      t        j                  ‰j'                  |«      «      d
¬«       t        ‰j)                  |«      t        j                  ‰j'                  |«      «      d
¬«       t        ‰j)                  |«      t        j                  ‰j'                  |«      «      d
¬«       d d d «       t        ‰j+                  |«      |«       t        ‰j+                  |«      |«       t        ‰j+                  |«      d d |dd  «       t        ‰j+                  d«      |dz
  «       t        ‰j+                  d«      |	«       ‰j'                  |«      }
t        ‰j-                  |
«      |«       t        ‰j-                  d|z
  «      ‰j+                  |«      «       t        ‰j-                  d|z
  «      ‰j+                  |«      «       t        ‰j-                  d«      |	«       t        ‰j-                  d«      |dz
  «       t        j.                  ddd«      }‰j+                  |dz  «      ‰j-                  |dz  «      f}t        ‰j1                  d|z
  «      |«       t        ‰j1                  d«      ‰j3                  «       «       t        ‰j1                  d«      |dz
  |	f«       ‰j+                  d«      }t        ‰j3                  «       |«       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        ‰j5                  «       |«       t        ‰j7                  «       t        j8                  |«      «       t        ‰j;                  «       |«       t        ‰j                  d¬«      ||||f«       t        j                  |dz  |z  «      }t        ‰j=                  d«      |«       t        ‰j?                  d„ «      d«       t        ‰j?                  «       |«       t        ‰j?                  d„ «      |«       t        j                  d¬	«      5  t        ‰j?                  ˆfd„«       ‰jA                  «       «       d d d «       t         j                  j                  d«      } ‰jC                  d| ¬«      }t         j                  j                  d«      } ‰j+                  | j                  d¬«      «      }t        ||«       y # 1 sw Y   �Œ$xY w# 1 sw Y   �ŒïxY w# 1 sw Y   �Œ™xY w# 1 sw Y   Œ¯xY w)Nl   íKÉU[ ry   r   r   r“   r   r   rk   )Údividerê   )rº   r8   rÉ   rz   r   g      ø?r   rh   )rg   c                  ó   — y)Nr   r   ©rõ   s    r/   ú<lambda>z test_rv_sample.<locals>.<lambda>.  s   � rµ   c                 ó   — | dz  S )Nr   r   r%  s    r/   r&  z test_rv_sample.<locals>.<lambda>0  s
   € ¨!¨Q©$€ rµ   c                 ó&   •— ‰j                  | «      S )N)rP   )rõ   r…   s    €r/   r&  z test_rv_sample.<locals>.<lambda>4  s   ø€ ¨t¯{©{¸1«~€ rµ   éd   r5   r£   )"rF   rG   r–   ÚsortÚsumr   rX   rÓ   Útolistr½   r˜   r   rO   ÚerrstaterP   ÚlogÚinfrQ   rR   rË   rS   r›   r¤   rÌ   r   ÚmedianÚmeanÚstdÚsqrtÚvarrÇ   ÚexpectÚentropyrI   )r\   r{   r|   Úxk_leftÚxk_rightÚcdf2Ú	cdf2_leftÚ
cdf2_rightr  r  Úsf2ÚpsÚint2Úmed2Úmean2Úvar2Úskew2Úkurt2Úmom3rI   Úrvs0r…   s                        @r/   Útest_rv_samplerF  Ç  sc  ø€ ô
 �)‰)×
Ñ
 Ó
,€CÜ	�‰�—‘˜B“ "Ñ$Ó	%€BØ	�‰�B‹€BØŒ"�&‰&�‹*Ñ€BÜ×Ñ R¨ HÔ-€Dô �x‰x˜˜˜b  "˜gŸn™nÓ.Ñ.Ó/°"Ñ4°aÑ7€GÜ—‘˜˜A˜B˜Ÿ™›¨B¨r©F°1©H¨:Ñ5Ó6¸Ñ;¸QÑ>€Hô �9‰9�R‹=€DÜ—‘˜1˜#  S b 	× 0Ñ 0Ó 2Ñ2Ó3°dÑ:¸AÑ=€IÜ—(‘(˜4  ˜8Ÿ?™?Ó,°¨sÑ2Ó3°dÑ:¸AÑ=€Jð �<‰<‹>�D€A€qÜ�A�r˜!‘uÔÜ�A�r˜"‘vÔô �D—H‘H˜R“L "Ô%Ü�D—H‘H˜XÓ&¨Ô*Ü�D—H‘H˜WÓ% qÔ)ô 
�‰˜HÔ	%ñ 7Ü˜Ÿ™ B›¬¯©°«Ô4Ü˜Ÿ™ HÓ-´·±¨wÔ7Ü˜Ÿ™ GÓ,¬r¯v©v¨gÔ6÷7ô �D—H‘H˜R“L $Ô'Ü�D—H‘H˜XÓ&¨Ô-Ü�D—H‘H˜WÓ%¨ s¨4°°¨9×+;Ñ+;Ó+=Ñ'=Ô>ä	�‰˜HÔ	%ñ $Ü˜Ÿ™ B›¬¯©°·±¸³Ó)=Ø"õ	$ä˜Ÿ™ HÓ-¬r¯v©v°d·h±h¸xÓ6HÓ/IØ"õ	$ä˜Ÿ™ GÓ,¬b¯f©f°T·X±X¸gÓ5FÓ.GØ"õ	$÷$ô �D—G‘G˜B“K  4§8¡8¨B£<¡Ô0Ü�D—G‘G˜HÓ% q¨¯©°(Ó);Ñ';Ô<Ü�D—G‘G˜GÓ$ a¨¯©°Ó(9Ñ&9Ô:ä	�‰˜HÔ	%ñ $Ü˜Ÿ
™
 2›¬¯©¨t¯w©w°r«{Ó(;Ø"õ	$ä˜Ÿ
™
 8Ó,¬b¯f©f°T·W±W¸XÓ5FÓ.GØ"õ	$ä˜Ÿ
™
 7Ó+¬R¯V©V°D·G±G¸GÓ4DÓ-EØ"õ	$÷$ô �D—H‘H˜T“N BÔ'Ü�D—H‘H˜YÓ'¨Ô,Ü�D—H‘H˜ZÓ(¨¨"Ð-¨r°!°"¨vÔ6Ü�D—H‘H˜Q“K  Q¡Ô'Ü�D—H‘H˜Q“K Ô#ð �'‰'�"‹+€CÜ�D—H‘H˜S“M 2Ô&Ü�D—H‘H˜Q˜y™[Ó)¨4¯8©8°IÓ+>Ô?Ü�D—H‘H˜Q˜z™\Ó*¨D¯H©H°ZÓ,@ÔAÜ�D—H‘H˜Q“K Ô#Ü�D—H‘H˜Q“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Ô4Ü�D—M‘M !Ó$ q¨¡s¨A hÔ/ð �8‰8�C‹=€DÜ�D—K‘K“M 4Ô(ô �F‰F�2�b‘5‹M€EÜ�6‰6�2˜‘: ‘/ BÑ&Ó'€DÜ�F‰F�B˜‘J ‘? RÑ'Ó(¨4°#©;Ñ6€EÜ�F‰F�B˜‘J ‘? RÑ'Ó(¨4°©7Ñ2°QÑ6€EÜ�D—I‘I“K Ô'Ü�D—H‘H“J¤§¡¨£Ô.Ü�D—H‘H“J Ô%Ü�D—J‘J v�JÓ.°¸¸eÀUÐ0KÔLô �6‰6�2�q‘5˜B‘,Ó€DÜ�D—K‘K “N DÔ)ô �D—K‘K¡Ó,¨aÔ0Ü�D—K‘K“M 5Ô)Ü�D—K‘K¡Ó/°Ô6ô 
�‰˜HÔ	%ñ PÜ˜Ÿ™Ó%=Ó>Ð>ÀÇÁÃÔO÷Pô �)‰)×
Ñ
 Ó
,€CØ
�(‰(˜¨#ˆ(Ó
.€CÜ
�)‰)×
Ñ
 Ó
,€CØ�8‰8�C—J‘J C�JÓ(Ó)€DÜ�C˜Õ÷k7ñ 7ú÷$ñ $ú÷$ñ $ú÷lPð Pús3   Ç<Bf!ÌB>f.Ñ&B>f;ã,.gæ!f+æ.f8æ;gçgc                  ó˜   —  G d„ dt         j                  «      }  | dt        d«      ¬«      }|j                  d¬«      }t	        |d«       y )	Nc                   ó   — e Zd Zd„ Zy)ú-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._pmfB  s   € Ø˜˜Q ™U™Ñ#Ð#rµ   N)Ú__name__Ú
__module__Ú__qualname__rL  r   rµ   r/   Úrv_exponentialrI  A  s   „ ó	$rµ   rP  r”   r/  )r  r  é*   )r7   r   )r   rX   ÚfloatrI   r   )rP  ÚrvrI   s      r/   Útest__pmf_float_inputrT  =  s@   € ô$œ×*Ñ*ô $ñ 
˜#¤ u£Ô	.€BØ
�&‰&˜bˆ&Ó
!€CÜ�C˜Õrµ   c                  óä   — g d¢g d¢g d¢g} g d¢g d¢g d¢g}d}t        j                  | ||«      }t        j                  j	                  | ||«      }t
        j                  j                  ||«       y )N)rz   r•   rz   )r•   rz   r•   )é-   é.   é/   )é0   é1   é2   )é3   é4   é5   rz   )r   Ú
_binom_ppfr   r  r›   rF   Útestingr   )rÎ   rù   r�   Úrefr¦   s        r/   Útest_gh18919_ppf_array_argsrb  J  sk   € ò 
Ú	Ú	ð	€Aò 
Ú	Ú	ð	€Að 	€Aä
×
Ñ
˜Q  1Ó
%€CÜ
�+‰+�/‰/˜!˜Q Ó
"€CÜ‡J�J×Ñ˜s CÕ(rµ   r…   c                 óÎ  — t         j                  j                  d«      }|j                  d¬«      }|j                  ddd¬«      }|j                  d¬«      }|j                  dd	¬«      }d
||j                  d¬«      dkD  <   d||j                  d¬«      dkD  <   | t        j
                  k(  r|||fn|||f} | j                  |d|iŽ} t        j                  | j                  «      |Ž |z   }t         j                  j                  ||«        | j                  |d|iŽ} t        j                  | j                  «      |Ž |z   }t         j                  j                  ||«       y )Nl   _ð\~$» )r"   r   r   r   r£   ry   r"   )ry   r   r   )r   r   r¢   )r   r   gffffffæ?r   r‰   )rF   rG   r–   r—   r   r  r›   Ú	vectorizer`  r   r¤   )	r…   r\   rÎ   rù   r�   r‰   rœ   r¦   ra  s	            r/   Ú test_gh18919_ppf_isf_array_args2re  \  s?  € ô �)‰)×
Ñ
Ð 4Ó
5€CØ�
‰
˜ˆ
Ó&€AØ�‰�R˜ *ˆÓ-€AØ�
‰
˜ˆ
Ó€AØ
�,‰,�q˜tˆ,Ó
$€Cà#$€A€c‡j�j�b€jÓ˜CÑÑ Ø#$€A€c‡j�j�b€jÓ˜CÑÑ à¤§¡Ò+ˆAˆq�!‰9°!°Q¸°€Dà
ˆ$�(‰(�DÐ
"˜cÑ
"€CØ
 Œ"�,‰,�t—x‘xÓ
  $Ð
'¨#Ñ
-€CÜ‡J�J×Ñ˜s CÔ(à
ˆ$�(‰(�DÐ
"˜cÑ
"€CØ
 Œ"�,‰,�t—x‘xÓ
  $Ð
'¨#Ñ
-€CÜ‡J�J×Ñ˜s CÕ(rµ   )@rl   Únumpy.testingr`  r™   r   ÚnumpyrF   r'   Úscipyr   Úscipy.specialr   Ú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ö   rX   r&   r«   r0   r)   Úparametrizer¼   re   rr   r�   r    r§   rK   rL   rp   rM   rN   rU   rð   r÷   r  r  r  r!  Úxfail_on_32bitrF  rT  rb  r  Ú	boltzmannre  r   rµ   r/   ú<module>rp     sš  ðÛ å Ý )ã Û å Ý !÷,÷ ,÷ ,÷ ,÷ DÝ @âÒ*Ð+€Ø Ð#�%×#Ñ#¨4Ô0°"Ð5Ð6Ñ 6€ð ˆ>€ð !)¨"˜~Ð òð ‡�×ÑÐ2±DÑ9RÓ9TÓ4UÓVñ-Bó Wð-Bð` ‡�×Ñ˜¨Ó6ñ/ó 7ð/ð0 ‡�×ÑÐ*¨LÓ9ñ-ó :ð-ð` ‡�×Ñ˜ lÓ3ñó 4ðð" ‡�×Ñ˜ |Ó4ñ.ó 5ð.ò0Jò43ò60ò
7ò6òr3ð ‡�×Ñ˜ò $Aó Bà‡�×ÑÐ)¨<Ó8ñ0ó 9óBð0ð( ‡�×ÑÐ)¨?Ó;ñ%ó <ð%ò/ð4 ‡�×ÑÐ6ÙÑ@ÓBÓCóEñ+óEð+ò,,ð ‡�×ÑÐ+¨\Ó:ñ:ó ;ð:ð ‡�×ÑÐ;Ó<ñsó =ðsòj
ò)ð$ ‡�×Ñ˜ %§+¡+¨u¯©Ð!?Ó@ñ)ó Añ)rµ   