ó
    „ñ:is> ã                   ó   • S r SSKrSSKrSSKrSSKJr  SSKJrJ	r	  SSK
JrJrJr  SSKJr  SSKJr  SSKJrJr  SS	KJr  SS
KJr  \" S5      r\R4                  r\R6                  " S5      r\R6                  " S5      rS r\R>                  " 5       r Sr!\RD                  " \\!5      r#\RH                  " \\RJ                  " \\!5      \\ \/5      r&\RN                  " \&5      r(S r)S r*S r+S r,S r-S r.S r/S r0S r1S r2S r3S r4\" \Rj                  5      S 5       r6\" \R                  Rj                  5      S 5       r6S r7\" \R                  5      S 5       r8\" \R                  R                  5      \" \R                  Rr                  5      \" \R                  Rt                  5      \" \R                  Rv                  5      S  5       5       5       5       r<\" \R                  R                  5      \" \R                  Rr                  5      \" \R                  Rt                  5      \" \R                  Rv                  5      S–S! j5       5       5       5       r=\" \R|                  5      \" \R~                  5      S" 5       5       r@\" \R                  R‚                  5      \" \R                  R„                  5      S# 5       5       rC\" \R                  R„                  5      S$ 5       rD\" \R                  R„                  5      S% 5       rE\" \R                  R‚                  5      S& 5       rF\" \R                  R„                  5      S' 5       rGS( rHS) rIS* rJ\" \R–                  5      S+ 5       rLS, rM\" \Rœ                  5      S- 5       rO\" \Rœ                  5      S. 5       rPS/ rQ\" \Rœ                  5      S0 5       rR\" \R¦                  5      S1 5       rT\" \R                  R¦                  5      S2 5       rU\" \R                  R¦                  5      S3 5       rV\" \R                  R¦                  5      S4 5       rW\" \R                  R°                  5      S5 5       rY\" \R°                  5      S6 5       rZ\" \R                  R°                  5      S7 5       r[S8 r\\" \R                  R°                  5      S9 5       r]\" \R¼                  5      S: 5       r_\" \R¼                  5      S; 5       r`\" \R                  R¼                  5      S< 5       r`\" \R                  R¼                  5      S–S= j5       ra\" \RÄ                  5      S> 5       rc\" \R                  RÈ                  5      \" \R                  RÊ                  5      S? 5       5       rf\" \R                  RÊ                  5      S@ 5       rgSA rh\" \R                  RÊ                  5      SB 5       ri\" \R                  RÈ                  5      SC 5       rj\" \RÖ                  5      SD 5       rl\" \R                  RÚ                  5      SE 5       rnSF ro\" \R                  RÚ                  5      SG 5       rp\" \Râ                  5      SH 5       rr\" \R                  Ræ                  5      SI 5       rt\" \R                  Ræ                  5      SJ 5       rt\" \R                  Rê                  5      \" \R                  Ræ                  5      SK 5       5       rt\" \R                  Rê                  5      SL 5       rv\" \R                  Rî                  5      SM 5       rx\" \R                  Rî                  5      SN 5       ry\" \R                  Rî                  5      SO 5       rz\" \R                  Rî                  5      SP 5       r{\" \Rø                  5      SQ 5       r}SR r~\" \Rþ                  5      SS 5       r€\" \R                  GR                  5      ST 5       r‚\" \R                  GR                  5      SU 5       r‚\" \GR                  5      SV 5       r„\" \R                  GR
                  5      SW 5       r†\" \R                  GR
                  5      SX 5       r‡\" \GR                  5      SY 5       r‰\" \R                  GR                  5      SZ 5       r‰S[ r‹\" \R                  GR                  5      S\ 5       rŒ\" \R                  GR                  5      S] 5       rŽ\" \R                  GR                  5      S^ 5       rŽ\" \R                  GR                  5      S_ 5       r�\" \R                  GR                  5      S` 5       r‘\" \R                  GR$                  5      Sa 5       r“\" \R                  GR$                  5      Sb 5       r“\" \R                  GR(                  5      Sc 5       r•\" \R                  GR(                  5      Sd 5       r•\" \R                  GR,                  5      Se 5       r—\" \R                  GR,                  5      Sf 5       r˜\" \R                  GR2                  5      Sg 5       rš\" \R                  GR2                  5      Sh 5       rš\" \R                  GR6                  5      Si 5       rœ\" \R                  GR6                  5      Sj 5       r�\" \R                  GR6                  5      Sk 5       rž\" \R                  GR6                  5      Sl 5       rŸSm r \" \R                  GRB                  5      Sn 5       r¢\" \R                  GRB                  5      So 5       r£\" \R                  GRB                  5      Sp 5       r¤\" \R                  GRB                  5      Sq 5       r¥Sr r¦Ss r§\" \R                  GRP                  5      St 5       r©\" \R                  GRP                  5      Su 5       r©\" \R                  GRT                  5      Sv 5       r«\" \R                  GRX                  5      Sw 5       r­\" \R                  GRX                  5      Sx 5       r®\" \R                  GRX                  5      Sy 5       r¯\" \R                  GR`                  5      Sz 5       r±\" \R                  GR`                  5      S{ 5       r±\" \R                  GRd                  5      S| 5       r³\" \R                  GRd                  5      S} 5       r´\" \R                  GRd                  5      S~ 5       rµ\" \R                  GRl                  5      S 5       r·\" \R                  GRl                  5      S€ 5       r¸\" \R                  GRr                  5      S� 5       rº\" \R                  GRr                  5      S‚ 5       r»\" \R                  GRx                  5      Sƒ 5       r½\" \R                  GRx                  5      S„ 5       r¾\" \R                  GR~                  5      S… 5       rÀ\" \R                  GR~                  5      S† 5       rÀS‡ rÁ\" \GR„                  5      Sˆ 5       rÃ\" \R                  GR„                  5      S‰ 5       rÃ\" \R                  GRˆ                  5      SŠ 5       rÅ\" \R                  GRŒ                  5      S‹ 5       rÆ\" \R                  GRŽ                  5      SŒ 5       rÇ\" \R                  GR�                  5      S—S� j5       rÈ\" \R                  GR’                  5      S–SŽ j5       rÉ\" \R                  GR”                  5      S� 5       rÊ\" \R                  GR”                  5      S–S� j5       rÊ\S‘ 5       rË\" \R                  GR˜                  5      S’ 5       rÌ\" \R                  GR˜                  5      S–S“ j5       rÌ\S” 5       rÍ\S• 5       rÎg)˜z6
Implement the random and np.random module functions.
é    N)Úir)Úis_nonelikeÚis_empty_tuple)Ú	intrinsicÚoverloadÚregister_jitable)ÚRegistry©Ú	signature)ÚtypesÚcgutils)ÚNumbaTypeError)ÚLONG_MAXÚ
randomimplé    é@   c                 ó8   • [         R                  " [        U 5      $ ©N)r   ÚConstantÚint32_t©Úxs    Ú[/srv/projetos/modelo_ml_acdoc/venv/lib/python3.13/site-packages/numba/cpython/randomimpl.pyÚ	const_intr      s   € Ü�;Š;”w Ó"Ð"ó    ip  c                 ó$  • US;   d   eSU-  n[         R                  " [        S5      n[        R                  " UR
                  XC5      nUR                  R                  S5        UR                  R                  S5        UR                  US5      $ )z©
Get a pointer to the given thread-local random state
(depending on *name*: "py" or "np").
If the state isn't initialized, it is lazily initialized with
system entropy.
)ÚpyÚnpÚinternalznumba_get_%s_random_state© ÚreadnoneÚnounwind)	r   ÚFunctionTypeÚrnd_state_ptr_tr   Úget_or_insert_functionÚmoduleÚ
attributesÚaddÚcall)ÚcontextÚbuilderÚnameÚ	func_nameÚfntyÚfns         r   Úget_state_ptrr0   2   sz   € ð Ð+Ó+Ð+Ð+Ø+¨dÑ2€IÜ�?Š?œ?¨BÓ/€DÜ	×	'Ò	'¨¯©¸Ó	H€Bð ‡M�M×Ñ�jÔ!Ø‡M�M×Ñ�jÔ!Ø�<‰<˜˜BÓÐr   c                 ó   • [        XS5      $ )z8
Get a pointer to the thread-local Python random state.
r   ©r0   ©r*   r+   s     r   Úget_py_state_ptrr4   C   ó   € ô ˜¨4Ó0Ð0r   c                 ó   • [        XS5      $ )z7
Get a pointer to the thread-local Numpy random state.
r   r2   r3   s     r   Úget_np_state_ptrr7   I   r5   r   c                 ó   • [        XS5      $ )z:
Get a pointer to the thread-local internal random state.
r   r2   r3   s     r   Úget_internal_state_ptrr9   O   s   € ô ˜¨:Ó6Ð6r   c                 ó2   • [         R                  " XSS5      $ ©Nr   ©r   Úgep_inbounds©r+   Ú	state_ptrs     r   Úget_index_ptrr@   V   ó   € Ü×Ò °A°qÓ9Ð9r   c                 ó2   • [         R                  " XSS5      $ ©Nr   é   r<   r>   s     r   Úget_array_ptrrE   Y   rA   r   c                 ó2   • [         R                  " XSS5      $ )Nr   é   r<   r>   s     r   Úget_has_gauss_ptrrH   \   rA   r   c                 ó2   • [         R                  " XSS5      $ )Nr   é   r<   r>   s     r   Úget_gauss_ptrrK   _   rA   r   c                 óø   • [         R                  " [         R                  " 5       [        45      n[        R
                  " U R                  R                  US5      nUR                  S   R                  S5        U$ )z4
Get the internal function to shuffle the MT taste.
Únumba_rnd_shuffler   Ú	nocapture)
r   r#   ÚVoidTyper$   r   r%   Úfunctionr&   ÚargsÚadd_attribute)r+   r.   r/   s      r   Úget_rnd_shufflerS   b   s[   € ô �?Š?œ2Ÿ;š;›=¬?Ð*<Ó=€DÜ	×	'Ò	'¨×(8Ñ(8×(?Ñ(?ÀØ(;ó
=€Bà‡G�GˆA�J×Ñ˜[Ô)Ø€Ir   c                 óÐ  • [        X5      nUR                  U5      nUR                  SU[        5      n[        R
                  " X5         [        U5      nUR                  Xb45        UR                  [        S5      U5        SSS5        UR                  U5      n[        X5      nUR                  [        R                  " XSU5      5      nUR                  U[        S5      5      nUR                  XC5        UR                  X�R                  U[        S5      5      5      nUR                  X�R                  UR!                  U[        S5      5      [        S5      5      5      nUR                  X�R                  UR!                  U[        S5      5      [        S	5      5      5      nUR                  X�R                  U[        S
5      5      5      nU$ ! , (       d  f       GNZ= f)z:
Get the next int32 generated by the PRNG at *state_ptr*.
ú>=r   NrD   é   é   l   €VX: é   l     Œ_ é   )r@   ÚloadÚicmp_unsignedÚN_constr   Úif_unlikelyrS   r)   Ústorer   rE   r=   r(   ÚxorÚlshrÚand_Úshl)	r*   r+   r?   ÚidxptrÚidxÚneed_reshuffler/   Ú	array_ptrÚys	            r   Úget_next_int32rh   m   sp  € ô ˜7Ó.€FØ
�,‰,�vÓ
€CØ×*Ñ*¨4°´gÓ>€NÜ	×	Ò	˜WÕ	5Ü˜WÓ%ˆØ�‰�R˜Ô&Ø�‰”i “l FÔ+÷ 
6ð �,‰,�vÓ
€CÜ˜gÓ1€IØ�‰”W×)Ò)¨'¸aÀÓEÓF€AØ
�+‰+�cœ9 Q›<Ó
(€CØ‡M�M�#Ôà�‰�A—|‘| A¤y°£}Ó5Ó6€AØ�‰�A—|‘| G§K¡K°´9¸Q³<Ó$@Ü$-¨jÓ$9ó;ó 	<€Aà�‰�A—|‘| G§K¡K°´9¸R³=Ó$AÜ$-¨jÓ$9ó;ó 	<€Aà�‰�A—|‘| A¤y°£}Ó5Ó6€AØ€H÷! 
6Ö	5ús   Á
9GÇ
G%c                 ó´  • UR                  [        XU5      [        S5      5      nUR                  [        XU5      [        S5      5      nUR                  U[        5      nUR                  U[        5      nUR                  UR                  XAR                  U[        R                  " [        S5      5      5      [        R                  " [        S5      5      $ )z;
Get the next double generated by the PRNG at *state_ptr*.
é   é   g      �Ag      @C)
r`   rh   r   ÚuitofpÚdoubleÚfdivÚfaddÚfmulr   r   )r*   r+   r?   ÚaÚbs        r   Úget_next_doublers   †   sž   € ð
 	�‰”^ G°iÓ@Ä)ÈAÃ,ÓO€AØ�‰”^ G°iÓ@Ä)ÈAÃ,ÓO€Að 	�‰�qœ&Ó!€AØ�‰�qœ&Ó!€AØ�<‰<Ø�‰�QŸ™ Q¬¯ª´F¸JÓ(GÓHÓIÜ
�Š”FÐ.Ó/ó1ð 1r   c                 ó®  ^ ^^^^• [         R                  " UR                  S5      mUUU UU4S jn[        R                  " T[         R                  " [
        S5      5      nTR                  SUT5      nTR                  U5       u  p‰U   U" U5      n
TR                  TR                  U
[
        5      U5        SSS5        U	   T(       a  U" TR                  UT5      5      n[        T TT5      n
T(       d  U" TR                  UT5      5      nTR                  TR                  U
[
        5      TR                  TR                  W[
        5      [         R                  " [
        S5      5      5      nTR                  XÆ5        SSS5        SSS5        TR                  U5      $ ! , (       d  f       Nñ= f! , (       d  f       N8= f! , (       d  f       NA= f)z*
Get the next integer with width *nbits*.
r   c                 ó<  >• TR                  TU 5      n[        TTT5      nU R                  R                  UR                  R                  :  a  TR	                  XR                  5      nOIU R                  R                  UR                  R                  :”  a  TR                  XR                  5      nT(       aR  TR                  [        R                  " UR                  S5      5      nTR                  X15      nTR                  X#5      $ TR                  X!5      $ r;   )Úsubrh   ÚtypeÚwidthÚzextÚtruncÚnot_r   r   r`   ra   )	ÚnbitsÚshiftrg   Úmaskr+   Úc32r*   Úis_numpyr?   s	       €€€€€r   Úget_shifted_intÚ%get_next_int.<locals>.get_shifted_intš   sÉ   ø€ Ø—‘˜C Ó'ˆÜ˜7 G¨YÓ7ˆð �:‰:×Ñ˜aŸf™fŸl™lÓ*Ø—L‘L ¯©Ó/‰EØ�Z‰Z×Ñ §¡§¡Ó,Ø—M‘M %¯©Ó0ˆEæà—<‘<¤§¢¨A¯F©F°AÓ 6Ó7ˆDØ—<‘< Ó,ˆDØ—<‘< Ó(Ð(ð —<‘< Ó)Ð)r   r   ú<=N)r   r   rw   r   Úalloca_once_valueÚint64_tr[   Úif_elser^   ry   rv   rh   r(   rb   rZ   )r*   r+   r?   r|   r€   r�   ÚretÚis_32bÚifsmallÚiflargeÚlowÚhighÚtotalr   s   ``` `        @r   Úget_next_intrŽ   •   sZ  ü€ ô �+Š+�e—j‘j "Ó
%€C÷*ñ *ô& ×
#Ò
# G¬R¯[ª[¼À!Ó-DÓ
E€Cà×"Ñ" 4¨°Ó4€FØ	�‰˜Ô	 Ñ$6 WÚÙ! %Ó(ˆCØ�M‰M˜'Ÿ,™, s¬GÓ4°cÔ:÷ ò æá& w§{¡{°5¸#Ó'>Ó?�Ü  ¨'°9Ó=ˆCÞá& w§{¡{°5¸#Ó'>Ó?�Ø—K‘KØ—‘˜S¤'Ó*Ø—‘˜GŸL™L¨¬wÓ7ÜŸKšK¬°Ó4ó6ó7ˆEð �M‰M˜%Ô%÷ ÷	 
!ð& �<‰<˜ÓÐ÷% �Wú÷ �Wú÷	 
!Õ	 ús=   ÂGÂ
/F$Â9
GÃC F5ÆGÆ$
F2	Æ.GÆ5
G	Æ?GÇ
Gc                 ó|   ^• [        U [        R                  5      (       a  [        [	        S5      5      mU4S jnU$ g )Nr   c                 ó   >• T" U 5      $ r   r    )rq   r/   s    €r   ÚimplÚseed_impl.<locals>.implÊ   s   ø€ Ù�a“5ˆLr   )Ú
isinstancer   ÚIntegerr   Ú
_seed_impl)rq   r‘   r/   s     @r   Ú	seed_implr–   Æ   s2   ø€ ä�!”U—]‘]×#Ñ#Üœj¨Ó.Ó/ˆõ	àˆð	 $r   c                 óX   • [        U [        R                  5      (       a  [        S5      $ g ©Nr   )r“   r   r”   r•   )Úseeds    r   r–   r–   Ï   s#   € ä�$œŸ™×&Ñ&Ü˜$ÓÐð 'r   c                 ó0   ^ ^• [         U 4S j5       mU4S j$ )Nc                 ód   >• U4S jn[        [        R                  [        R                  5      U4$ )Nc                 óH  >• Uu  n[         R                  " [         R                  " 5       [        [        45      n[
        R                  " UR                  R                  US5      nUR                  U[        XT5      U45        U R                  [        R                  S 5      $ )NÚnumba_rnd_init)r   r#   rO   r$   r   r   r%   rP   r&   r)   r0   Úget_constantr   Únone)r*   r+   ÚsigrQ   Ú
seed_valuer.   r/   Ú
state_types          €r   ÚcodegenÚ*_seed_impl.<locals>._impl.<locals>.codegenØ   s   ø€ Ø‰KˆJÜ—?’?¤2§;¢;£=´?ÄGÐ2LÓMˆDÜ×/Ò/°×0@Ñ0@×0GÑ0GÈØ0@óBˆBà�L‰L˜œm¨G¸jÓIØ(ð*ô +à×'Ñ'¬¯
©
°DÓ9Ð9r   )r   r   ÚvoidÚuint32)Útypingcontextr™   r£   r¢   s      €r   Ú_implÚ_seed_impl.<locals>._implÖ   s$   ø€ õ	:ô œŸ™¤U§\¡\Ó2°GÐ;Ð;r   c                 ó   >• T" U 5      $ r   r    )r™   r¨   s    €r   Ú<lambda>Ú_seed_impl.<locals>.<lambda>á   s	   ø€ ™˜dœr   ©r   )r¢   r¨   s   `@r   r•   r•   Õ   s   ù€ Üô	<ó ð	<ô $Ð#r   c                  ó(   ^ • [         S 5       m U 4S j$ )Nc                 ó>   • S n[        [        R                  5      U4$ )Nc                 ó2   • [        XS5      n[        XU5      $ ©Nr   ©r0   rs   ©r*   r+   r    rQ   r?   s        r   r£   Ú+random_impl.<locals>._impl.<locals>.codegenè   ó   € Ü% g¸Ó=ˆIÜ" 7°YÓ?Ð?r   )r   r   rm   ©r§   r£   s     r   r¨   Úrandom_impl.<locals>._implæ   s   € ò	@ô œŸ™Ó&¨Ð/Ð/r   c                  ó   >• T " 5       $ r   r    ©r¨   s   €r   r«   Úrandom_impl.<locals>.<lambda>ì   ó   ø€ ‘5”7r   r­   r¹   s   @r   Úrandom_implr¼   ä   s   ø€ äñ0ó ð0ô
 Ðr   c                  ó(   ^ • [         S 5       m U 4S j$ )Nc                 ó>   • S n[        [        R                  5      U4$ )Nc                 ó2   • [        XS5      n[        XU5      $ r˜   r²   r³   s        r   r£   Ú,random_impl0.<locals>._impl.<locals>.codegenö   rµ   r   )r   r   Úfloat64r¶   s     r   r¨   Úrandom_impl0.<locals>._implô   s   € ò	@ô œŸ™Ó'¨Ð0Ð0r   c                  ó   >• T " 5       $ r   r    r¹   s   €r   r«   Úrandom_impl0.<locals>.<lambda>ú   r»   r   r­   r¹   s   @r   Úrandom_impl0rÅ   ï   s   ø€ ô
 ñ1ó ð1ô
 Ðr   c                 ó6  • [        U 5      (       a  SS j$ [        U 5      (       a  SS j$ [        U [        R                  5      (       dH  [        U [        R
                  5      (       a1  [        U R                  [        R                  5      (       a  SS jnU$ g g )Nc                 ó>   • [         R                  R                  5       $ r   ©r   Úrandom©Úsizes    r   r«   Úrandom_impl1.<locals>.<lambda>  s   € ¤§¡×!1Ñ!1Ô!3r   c                 óf   • [         R                  " [         R                  R                  5       5      $ r   )r   ÚarrayrÉ   rÊ   s    r   r«   rÌ     s   € ¤§¢¬"¯)©)×*:Ñ*:Ó*<Ô!=r   c                 óÂ   • [         R                  " U 5      nUR                  n[        UR                  5       H#  n[         R
                  R                  5       X#'   M%     U$ r   )r   ÚemptyÚflatÚrangerË   rÉ   ©rË   ÚoutÚout_flatrd   s       r   r¨   Úrandom_impl1.<locals>._impl
  sC   € Ü—(’(˜4“.ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	× 0Ñ 0Ó 2�“ñ 'àˆJr   r   ©r   r   r“   r   r”   ÚUniTupleÚdtype©rË   r¨   s     r   Úrandom_impl1rÛ   ý   s{   € ô
 �4×ÑÛ3Ð3Ü�d×Ñã=Ð=Ü�$œŸ™×&Ñ&¬:°d¼E¿N¹N×+KÑ+KÜ/9¸$¿*¹*Ü:?¿-¹-÷0Iñ 0Iô	ð ˆð0Ið ,Lr   c                 óè   ^• [        U [        R                  [        R                  45      (       aB  [        U[        R                  [        R                  45      (       a  [        S 5       mU4S j$ g g )Nc                 óz   • [        U5      n[        U5      n[        [        R                  X5      [	        SX45      4$ r±   ©Ú_double_preprocessorr   r   rÁ   Ú_gauss_impl)r§   ÚmuÚsigmaÚloc_preprocessorÚscale_preprocessors        r   r¨   Úgauss_impl.<locals>._impl  s=   € ä3°BÓ7ÐÜ!5°eÓ!<ÐÜœUŸ]™]¨BÓ6Ü˜tÐ%5ÓJðKð Kr   c                 ó   >• T" X5      $ r   r    ©rá   râ   r¨   s     €r   r«   Úgauss_impl.<locals>.<lambda>  s
   ø€ ¡ rÔ!1r   ©r“   r   ÚFloatr”   r   rç   s     @r   Ú
gauss_implrë     sa   ø€ ô �"”u—{‘{¤E§M¡MÐ2×3Ñ3¼
Ø”E—K‘K¤§¡Ð/÷91ñ 91ä	ñ	Kó 
ð	Kô
 2Ð1ð91Ð3r   c                  ó   • S $ )Nc                  óB   • [         R                  R                  SS5      $ ©Nç        ç      ð?©r   rÉ   Únormalr    r   r   r«   Ú np_gauss_impl0.<locals>.<lambda>$  s   € ”2—9‘9×#Ñ# C¨Ô-r   r    r    r   r   Únp_gauss_impl0rô   !  s
   € ñ .Ð-r   c                 óh   • [        U [        R                  [        R                  45      (       a  S $ g )Nc                 óB   • [         R                  R                  U S5      $ ©Nrð   rñ   ©Úlocs    r   r«   Ú np_gauss_impl1.<locals>.<lambda>*  s   € œ2Ÿ9™9×+Ñ+¨C°Ô5r   ©r“   r   rê   r”   rø   s    r   Únp_gauss_impl1rü   '  s'   € ä�#œŸ™¤U§]¡]Ð3×4Ñ4Ù5Ð5ð 5r   c                 óè   ^• [        U [        R                  [        R                  45      (       aB  [        U[        R                  [        R                  45      (       a  [        S 5       mU4S j$ g g )Nc                 óz   • [        U5      n[        U5      n[        [        R                  X5      [	        SX45      4$ r˜   rÞ   )r§   rù   Úscalerã   rä   s        r   r¨   Únp_gauss_impl2.<locals>._impl1  s=   € ä3°CÓ8ÐÜ!5°eÓ!<ÐÜœUŸ]™]¨CÓ7Ü˜tÐ%5ÓJðKð Kr   c                 ó   >• T" X5      $ r   r    ©rù   rÿ   r¨   s     €r   r«   Ú np_gauss_impl2.<locals>.<lambda>7  s
   ø€ ¡%¨Ô"3r   ré   r  s     @r   Únp_gauss_impl2r  -  s_   ø€ ä�#œŸ™¤U§]¡]Ð3×4Ñ4¼Ø”E—K‘K¤§¡Ð/÷:1ñ :1ä	ñ	Kó 
ð	Kô
 4Ð3ð:1Ð4r   c                 ó*  • [        U 5      (       a  S $ [        U 5      (       a  S $ [        U [        R                  5      (       dH  [        U [        R
                  5      (       a/  [        U R                  [        R                  5      (       a  S nU$ g g )Nc                 ó>   • [         R                  R                  5       $ r   ©r   rÉ   Ústandard_normalrÊ   s    r   r«   Ú'standard_normal_impl1.<locals>.<lambda>=  ó   € œBŸI™I×5Ñ5Ô7r   c                 óf   • [         R                  " [         R                  R                  5       5      $ r   )r   rÎ   rÉ   r  rÊ   s    r   r«   r	  @  ó   € œBŸHšH¤R§Y¡Y×%>Ñ%>Ó%@ÔAr   c                 óÂ   • [         R                  " U 5      nUR                  n[        UR                  5       H#  n[         R
                  R                  5       X#'   M%     U$ r   )r   rÐ   rÑ   rÒ   rË   rÉ   r  rÓ   s       r   r¨   Ú$standard_normal_impl1.<locals>._implD  óC   € Ü—(’(˜4“.ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	× 9Ñ 9Ó ;�“ñ 'àˆJr   r×   rÚ   s     r   Ústandard_normal_impl1r  :  sy   € ä�4×ÑÙ7Ð7Ü�d×ÑáAÐAÜ�$œŸ™×&Ñ&¬:°d¼E¿N¹N×+KÑ+KÜ+5°d·j±jÜ6;·m±m÷,Eñ ,Eò	ð ˆð,Eð ,Lr   c                 ób  • [        U [        R                  [        R                  45      (       aB  [        U[        R                  [        R                  45      (       a  [	        U5      (       a  S $ [        U [        R                  [        R                  45      (       aB  [        U[        R                  [        R                  45      (       a  [        U5      (       a  S $ [        U [        R                  [        R                  45      (       až  [        U[        R                  [        R                  45      (       an  [        U[        R                  5      (       dH  [        U[        R                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g g g )Nc                 ó@   • [         R                  R                  X5      $ r   rñ   ©rù   rÿ   rË   s      r   r«   Ú np_gauss_impl3.<locals>.<lambda>R  ó   € ¬¯	©	×(8Ñ(8¸Ô(Dr   c                 óh   • [         R                  " [         R                  R                  X5      5      $ r   )r   rÎ   rÉ   rò   r  s      r   r«   r  W  ó   € ¬¯ª´·±×1AÑ1AÀ#Ó1MÔ(Nr   c                 óÄ   • [         R                  " U5      nUR                  n[        UR                  5       H$  n[         R
                  R                  X5      XE'   M&     U$ r   )r   rÐ   rÑ   rÒ   rË   rÉ   rò   ©rù   rÿ   rË   rÔ   rÕ   rd   s         r   r¨   Únp_gauss_impl3.<locals>._impl]  óE   € Ü—(’(˜4“.ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	× 0Ñ 0°Ó <�“ñ 'àˆJr   ©r“   r   rê   r”   r   r   rØ   rÙ   ©rù   rÿ   rË   r¨   s       r   Únp_gauss_impl3r  M  s)  € ä�3œŸ™¤e§m¡mÐ4×5Ñ5¼*Ø”E—K‘K¤§¡Ð/÷;1ñ ;1ä�4×ÑÙDÐDÜ�3œŸ™¤e§m¡mÐ4×5Ñ5¼*Ø”E—K‘K¤§¡Ð/÷;1ñ ;1ä�d×ÑáNÐNÜ�3œŸ™¤e§m¡mÐ4×5Ñ5¼*Ø”E—K‘K¤§¡Ð/÷;1ñ ;1ä�4œŸ™×'Ñ'¬J°t¼U¿^¹^×,LÑ,LÜ0:¸4¿:¹:Ü;@¿=¹=÷1Jñ 1Jò	ð ˆð1Jð -Mð;1Ð5r   c                 ó   ^ • U 4S jnU$ )Nc                  óÚ   >•  ST" 5       -  S-
  n ST" 5       -  S-
  nX -  X-  -   nUS:  a  US:w  a  OM2  [         R                  " S[         R                  " U5      -  U-  5      nX0-  X1-  4$ )z7
Compute a pair of numbers on the normal distribution.
ç       @rð   rï   ç       À)ÚmathÚsqrtÚlog)Úx1Úx2Úr2ÚfÚ_randoms       €r   Úcompute_gauss_pairÚ,_gauss_pair_impl.<locals>.compute_gauss_pairg  sz   ø€ ð Ø‘w“y‘ 3Ñ&ˆBØ‘w“y‘ 3Ñ&ˆBØ‘˜™‘ˆBØ�C‹x˜B #›IØñ ô �IŠI�dœTŸXšX b›\Ñ)¨BÑ.Ó/ˆØ‰v�q‘vˆ~Ðr   r    )r*  r+  s   ` r   Ú_gauss_pair_implr-  f  s   ø€ õð Ðr   c                 ó   ^ ^^• UUU 4S jnU$ )Nc                 óB  >• UR                   nU R                  U5      n[        R                  [        R                  R                  S.T   n[	        XT5      n[
        R                  " XSS9n[        X5      n	[        X5      n
[
        R                  " XR                  U
5      5      nUR                  U5       u  pÍU   UR                  UR                  U	5      U5        UR                  [        S5      U
5        S S S 5        U   U R                  U[        U5      [!        ["        R$                  " US5      5      S5      n[
        R&                  " XS5      u  nnUR                  Xù5        UR                  UU5        UR                  [        S5      U
5        S S S 5        S S S 5        Uu  nnUR)                  T" UU5      UR+                  T" UU5      UR                  U5      5      5      $ ! , (       d  f       Nø= f! , (       d  f       Nk= f! , (       d  f       Nt= f)N)r   r   Úresult©r,   r   rG   r    rD   )Úreturn_typeÚget_data_typerÉ   r   r0   r   Úalloca_oncerK   rH   Úis_truerZ   r†   r^   r   Úcompile_internalr-  r   r   rØ   Úunpack_tuplero   rp   )r*   r+   r    rQ   ÚtyÚlltyr*  r?   r‡   Ú	gauss_ptrÚhas_gauss_ptrÚ	has_gaussÚthenÚ	otherwiseÚpairÚfirstÚsecondrá   râ   rã   rä   Ústates                      €€€r   r¨   Ú_gauss_impl.<locals>._imply  s²  ø€ à�_‰_ˆØ×$Ñ$ RÓ(ˆÜŸ™ÜŸ™×)Ñ)ñ+Ø+0ñ2ˆô " '°EÓ:ˆ	ä×!Ò! '°hÑ?ˆä! 'Ó5ˆ	Ü)¨'Ó=ˆÜ—O’O G¯\©\¸-Ó-HÓIˆ	Ø�_‰_˜YÔ'Ñ+<¨DÚà—‘˜gŸl™l¨9Ó5°sÔ;Ø—‘œi¨›l¨MÔ:÷ ò ð ×/Ñ/°Ü0@ÀÓ0IÜ09¼%¿.º.ÈÈQÓ:OÓ0PØ02ó4�ô
 !(× 4Ò 4°WÀAÓ F‘��vØ—‘˜eÔ/Ø—‘˜f cÔ*Ø—‘œi¨›l¨MÔ:÷ ÷ (ð$ ‰	ˆˆEØ�|‰|Ñ,¨W°bÓ9Ø#ŸL™LÑ);¸GÀUÓ)KØ)0¯©°cÓ):ó<ó=ð 	=÷% •ú÷ •ú÷ (Õ'ús=   Â:HÂ?=G.Ã<
HÄBG?ÆHÇ.
G<	Ç8HÇ?
H	È	HÈ
Hr    )rB  rã   rä   r¨   s   ``` r   rà   rà   x  s   ú€ ÷#=ðH €Lr   c                 óD  ^• [         R                  R                  5       m[        U [        R                  5      (       a  U R
                  (       a  U4S j$ U4S j$ [        U [        R                  5      (       a  U R                  S:w  a  U4S j$ S $ [        SU -  5      e)Nc                 ó(   >• U R                  UT5      $ r   )Úsitofp©r+   Úvr8  s     €r   r«   Ú&_double_preprocessor.<locals>.<lambda>¥  ó   ø€  g§n¡n°Q¸Ô&;r   c                 ó(   >• U R                  UT5      $ r   )rl   rG  s     €r   r«   rI  §  rJ  r   r   c                 ó(   >• U R                  UT5      $ r   )ÚfpextrG  s     €r   r«   rI  ª  s   ø€  g§m¡m°A°rÔ&:r   c                 ó   • U$ r   r    )Ú_builderrH  s     r   r«   rI  ¬  s   € ¡qr   z(Cannot convert {} to floating point type)	r   r   Ú
DoubleTyper“   r”   Úsignedrê   Úbitwidthr   )Úvaluer8  s    @r   rß   rß      ss   ø€ Ü	�‰×	Ñ	Ó	€Bä�%œŸ™×'Ñ'Ø�<�<Ü;Ð;ä;Ð;Ü	�Eœ5Ÿ;™;×	'Ñ	'Ø�>‰>˜RÓÜ:Ð:á(Ð(äÐGÈ%ÑOÓPÐPr   c                 óh   ^• [        U [        R                  5      (       a  [        S 5       mU4S j$ g )Nc                 ó@   • S n[        [        R                  U5      U4$ )Nc                 ót  • Uu  nUR                  SU[        S5      5      nUR                  SU[        S5      5      n[        R                  " XR	                  UU5      5         SnU R
                  R                  U[        U45        S S S 5        [        XS5      n[        XX„S5      $ ! , (       d  f       N'= f)NrU   éA   ú==r   z getrandbits() limited to 64 bitsr   F)
r[   r   r   r]   Úor_Ú	call_convÚreturn_user_excÚOverflowErrorr0   rŽ   )	r*   r+   r    rQ   r|   Ú	too_largeÚ	too_smallÚmsgr?   s	            r   r£   Ú0getrandbits_impl.<locals>._impl.<locals>.codegen¶  s«   € Ø‘�à#×1Ñ1°$¸¼yÈ»}ÓM�	Ø#×1Ñ1°$¸¼yÈ»|ÓL�	Ü×(Ò(¨·+±+¸iØ>Gó3Iõ Jà<�CØ×%Ñ%×5Ñ5°g¼}Ø7:°fô>÷Jô
 *¨'¸DÓA�	Ü# G°iÈÓNÐN÷Jõ Jús   Á#%B)Â)
B7)r   r   Úuint64)r§   Úkr£   s      r   r¨   Úgetrandbits_impl.<locals>._impl´  s    € òOô œUŸ\™\¨1Ó-¨wÐ6Ð6r   c                 ó   >• T" U 5      $ r   r    ©rb  r¨   s    €r   r«   Ú"getrandbits_impl.<locals>.<lambda>Ã  s	   ø€ ™˜qœr   )r“   r   r”   r   re  s    @r   Úgetrandbits_implrg  ±  s3   ø€ ä�!”U—]‘]×#Ñ#Ü	ñ	7ó 
ð	7ô "Ð!ð! $r   c                 óÒ  ^ ^^^^^^^• [        T TT5      m[        R                  " TS5      n[        R                  " TS5      n	[        R                  " TTSS9n
TR                  TR                  X25      U
5        TR                  TR                  SXH5      5         TR                  TR                  TR                  U
5      U5      U	5      nTR                  X´5      mTR                  TU
5        S S S 5        TR                  TR                  SXI5      5         TR                  TR                  TR                  U
5      U5      U	5      nTR                  X´5      mTR                  TU
5        S S S 5        TR                  U
5      m[        R                  " TTR                  STU5      5         SnT R                  R                  T[        U45        S S S 5        [        R                   " TT[        R"                  R$                  /5      n[        R&                  " TR(                  R*                  US	T-  5      nTS
:X  a  TR                  TU	5      OTnTR-                  TR/                  Xï[        R"                  /5      [0        5      mTR                  [        R                  " [0        TR2                  5      T5      m[        R                  " TTSS9mUU UUUUUU4S jnTS
:X  a^  TR5                  TR                  STU	5      5       u  nnU   TR                  UT5        S S S 5        U   U" 5         S S S 5        S S S 5        OU" 5         TR                  UTR7                  TR                  T5      U5      5      $ ! , (       d  f       GN–= f! , (       d  f       GN*= f! , (       d  f       GNÖ= f! , (       d  f       N—= f! , (       d  f       N–= f! , (       d  f       N—= f)Nr   rD   Únr1  Ú<Ú>rƒ   zempty range for randrange()zllvm.ctlz.%sr   Úrc                  óf  >• TR                  S5      n TR                  S5      nTR                  U 5        TR                  U 5        [        TTT
TT	S:H  5      nTR	                  UT5      nTR                  SUT5      nTR                  X0U5        TR                  U5        TR                  UT5        g )NÚwhilez	while.endr   rU   )Úappend_basic_blockÚbranchÚposition_at_endrŽ   rz   Úicmp_signedÚcbranchr^   )ÚbbwhileÚbbendrl  r]  r+   r*   ri  r|   ÚrptrrB  r?   r8  s       €€€€€€€€r   Úget_numÚ _randrange_impl.<locals>.get_numñ  s¡   ø€ Ø×,Ñ,¨WÓ5ˆØ×*Ñ*¨;Ó7ˆØ�‰�wÔà×Ñ Ô(Ü˜ '¨9°e¸UÀd¹]ÓKˆØ�M‰M˜!˜RÓ ˆØ×'Ñ'¨¨a°Ó3ˆ	Ø�‰˜	¨EÔ2à×Ñ Ô&Ø�‰�a˜Õr   rX  )r0   r   r   r   r4  r^   rv   Úif_thenrr  r(   rZ   Úsdivr]   rZ  r[  Ú
ValueErrorr#   Útrue_bitrw   r%   rP   r&   rz   r)   r   rx   r†   Úmul)r*   r+   ÚstartÚstopÚstepr8  rQ  rB  ÚzeroÚoneÚnptrÚwr_  r.   r/   Únm1rw  Úis_oneÚ
is_not_oneri  r|   rv  r?   s   ``   ` `           @@@@r   Ú_randrange_implrˆ  Æ  sï  ÿ€ Ü˜g w°Ó6€IÜ�;Š;�r˜1Ó€DÜ
�+Š+�b˜!Ó
€CÜ×Ò˜w¨°Ñ5€Dð ‡M�M�'—+‘+˜dÓ*¨DÔ1à	�‰˜×,Ñ,¨S°$Ó=Õ	>à�K‰K˜Ÿ™ G§L¡L°Ó$6¸Ó=¸sÓCˆØ�L‰L˜Ó!ˆØ�‰�a˜Ô÷	 
?ð
 
�‰˜×,Ñ,¨S°$Ó<Õ	=à�K‰K˜Ÿ™ G§L¡L°Ó$6¸Ó=¸sÓCˆØ�L‰L˜Ó!ˆØ�‰�a˜Ô÷	 
>ð 	�‰�TÓ€AÜ	×	Ò	˜W g×&9Ñ&9¸$ÀÀ4Ó&HÕ	Ià+ˆØ×Ñ×)Ñ)¨'´:À¸vÔF÷ 
Jô
 �?Š?˜2 ¤G×$4Ñ$4×$9Ñ$9Ð:Ó;€DÜ	×	'Ò	'¨×(8Ñ(8×(?Ñ(?ÀØ(6¸Ñ(;ó
=€Bð "'¨$£ˆ'�+‰+�a˜Ô
°A€CØ�M‰M˜'Ÿ,™, r´×1AÑ1AÐ+BÓCÄWÓM€EØ�K‰KœŸš¤G¨R¯X©XÓ6¸Ó>€Eä×Ò˜w¨°Ñ5€D÷ô ð �ƒ}à�_‰_˜W×0Ñ0°°q¸#Ó>Ô?ÑCWÀFÈJÚØ—‘˜d DÔ)÷ âÙ”	÷ ÷ @Ð?ñ 	Œ	à�;‰;�u˜gŸk™k¨'¯,©,°tÓ*<¸dÓCÓDÐD÷u 
?Ö	>ú÷
 
>Ö	=ú÷ 
JÖ	Iú÷N •úç•ú÷ @Õ?úsb   ÂAN ÄANÆ0%N$ÌOÌN6Ì%
OÌ/OÌ7OÎ 
NÎ
N!Î$
N3Î6
O	Ï OÏ
O	ÏOÏ
O&c                 óH   • [        U [        R                  5      (       a  S $ g )Nc                 ó2   • [         R                  " SU S5      $ rC   ©rÉ   Ú	randrange©r~  s    r   r«   Ú"randrange_impl_1.<locals>.<lambda>  s   € œV×-Ò-¨a°¸Ô:r   ©r“   r   r”   r�  s    r   Úrandrange_impl_1r�    s   € ä�%œŸ™×'Ñ'Ù:Ð:ð (r   c                 óˆ   • [        U [        R                  5      (       a#  [        U[        R                  5      (       a  S $ g g )Nc                 ó0   • [         R                  " XS5      $ ©NrD   r‹  ©r~  r  s     r   r«   Ú"randrange_impl_2.<locals>.<lambda>  s   € ¤6×#3Ò#3°EÀÔ#Cr   r�  r”  s     r   Úrandrange_impl_2r–    s2   € ä�%œŸ™×'Ñ'¬J°t¼U¿]¹]×,KÑ,KÙCÐCð -LÐ'r   c                 ó²   • UR                   U :w  aE  UR                  (       a  [        R                  R                  $ [        R                  R
                  $ S $ )Nc                 ó   • U$ r   r    )rO  rH  Ú_tys      r   r«   Ú)_randrange_preprocessor.<locals>.<lambda>  s   € ©r   )rR  rQ  r   Ú	IRBuilderÚsextry   )rR  r8  s     r   Ú_randrange_preprocessorr�    s@   € Ø	‡{�{�hÓØ%'§Y§Y”—‘×!Ñ!ð 	(Ü—\‘\×&Ñ&ð	(ñ *Ð)r   c                 ó`  ^^^^^^	^
• [        U [        R                  5      (       Ga  [        U[        R                  5      (       aç  [        U[        R                  5      (       aÇ  [        U R                  UR                  UR                  5      m[        U R
                  UR
                  UR
                  5      n[        R                  R                  UT5      m[        R                  " U5      m[        X05      m[        X15      m
[        X25      m	[        UUUUU	U
4S j5       mU4S j$ g g g )Nc                 ó6   >• UUUU	U
4S jn[        TXU5      U4$ )Nc           
      ód   >• Uu  pEnT	" XT5      nT" XT5      nT
" XT5      n[        XXEUTTS5      $ r±   )rˆ  )r*   r+   r    rQ   r~  r  r€  Ú	llvm_typerQ  Ústart_preprocessorÚstep_preprocessorÚstop_preprocessors          €€€€€r   r£   Ú0randrange_impl_3.<locals>._impl.<locals>.codegen/  sM   ø€ Ø$(Ñ!�˜Tá*¨7¸9ÓE�Ù(¨¸	ÓB�Ù(¨¸	ÓB�Ü& w¸ÀdØ'0°&¸$ó@ð @r   r
   )r§   r~  r  r€  r£   Úint_tyr¡  rQ  r¢  r£  r¤  s        €€€€€€r   r¨   Úrandrange_impl_3.<locals>._impl-  s%   ø€ ÷@ñ @ô ˜V U°$Ó7¸Ð@Ð@r   c                 ó   >• T" XU5      $ r   r    )r~  r  r€  r¨   s      €r   r«   Ú"randrange_impl_3.<locals>.<lambda>8  s   ø€ ©¨u¸DÔ)Ar   ©r“   r   r”   ÚmaxrQ  rR  Úfrom_bitwidthr   ÚIntTyper�  r   )r~  r  r€  rR  r¨   r¦  r¡  rQ  r¢  r£  r¤  s       @@@@@@@r   Úrandrange_impl_3r®     sß   þ€ ä�5œ%Ÿ-™-×(Ò(¬Z¸¼e¿m¹m×-LÑ-LÜ�$œŸ™×&Ñ&Ü�U—\‘\ 4§;¡;°·±Ó<ˆÜ�u—~‘~ t§}¡}°d·m±mÓDˆÜ—‘×,Ñ,¨X°vÓ>ˆÜ—J’J˜xÓ(ˆ	ä4°XÓEÐÜ3°HÓCÐÜ3°HÓCÐä	÷		Añ 		Aó 
ð		Aô BÐAð+ 'ð .MÐ(r   c                 óˆ   • [        U [        R                  5      (       a#  [        U[        R                  5      (       a  S $ g g )Nc                 ó6   • [         R                  " XS-   S5      $ r“  r‹  ©rq   rr   s     r   r«   Ú randint_impl_1.<locals>.<lambda>>  s   € œF×,Ò,¨Q°A±°qÔ9r   r�  r±  s     r   Úrandint_impl_1r³  ;  s2   € ä�!”U—]‘]×#Ñ#¬
°1´e·m±m×(DÑ(DÙ9Ð9ð )EÐ#r   c                 óH   • [        U [        R                  5      (       a  S $ g )Nc                 óB   • [         R                  R                  SU 5      $ r;   ©r   rÉ   Úrandint©r‹   s    r   r«   Ú#np_randint_impl_1.<locals>.<lambda>D  s   € œ2Ÿ9™9×,Ñ,¨Q°Ô4r   r�  r¸  s    r   Únp_randint_impl_1rº  A  s   € ä�#”u—}‘}×%Ñ%Ù4Ð4ð &r   c                 óØ  ^^^^^^• [        U [        R                  5      (       aÅ  [        U[        R                  5      (       a¥  [        U R                  UR                  5      m[        U R
                  UR
                  5      n[        R                  R                  UT5      m[        R                  " U5      m[        X 5      m[        X!5      m[        UUUUU4S j5       mU4S j$ g g )Nc                 ó2   >• UUUU4S jn[        TX5      U4$ )Nc           
      ó~   >• Uu  pET	" XT5      nT
" XT5      n[         R                  " TS5      n[        XXEUTTS5      $ )NrD   r   )r   r   rˆ  )r*   r+   r    rQ   r~  r  r€  r¡  rQ  r¢  r¤  s          €€€€r   r£   Ú1np_randint_impl_2.<locals>._impl.<locals>.codegenT  sN   ø€ Ø"‘�á*¨7¸9ÓE�Ù(¨¸	ÓB�Ü—{’{ 9¨aÓ0�Ü& w¸ÀdØ'0°&¸$ó@ð @r   r
   )	r§   r‹   rŒ   r£   r¦  r¡  rQ  r¢  r¤  s	       €€€€€r   r¨   Ú np_randint_impl_2.<locals>._implR  s#   ø€ ÷@ð @ô ˜V SÓ/°Ð8Ð8r   c                 ó   >• T" X5      $ r   r    ©r‹   rŒ   r¨   s     €r   r«   Ú#np_randint_impl_2.<locals>.<lambda>]  ó
   ø€ ¡ sÔ!1r   rª  )	r‹   rŒ   rR  r¨   r¦  r¡  rQ  r¢  r¤  s	      @@@@@@r   Únp_randint_impl_2rÄ  G  s®   ý€ ä�#”u—}‘}×%Ñ%¬*°T¼5¿=¹=×*IÑ*IÜ�S—Z‘Z §¡Ó-ˆÜ�s—|‘| T§]¡]Ó3ˆÜ—‘×,Ñ,¨X°vÓ>ˆÜ—J’J˜xÓ(ˆ	ä4°XÓCÐÜ3°HÓCÐä	÷		9ð 		9ó 
ð		9ô 2Ð1ð) +JÐ%r   c                 ó  ^• [        U [        R                  5      (       a2  [        U[        R                  5      (       a  [        U5      (       a  S $ [        U [        R                  5      (       a2  [        U[        R                  5      (       a  [	        U5      (       a  S $ [        U [        R                  5      (       aÄ  [        U[        R                  5      (       a¤  [        U[        R                  5      (       dH  [        U[        R
                  5      (       ae  [        UR                  [        R                  5      (       a;  [        U R                  UR                  5      n[        [        SU 35      mU4S jnU$ g g g g )Nc                 ó@   • [         R                  R                  X5      $ r   r¶  ©r‹   rŒ   rË   s      r   r«   Ú#np_randint_impl_3.<locals>.<lambda>d  ó   € ¤r§y¡y×'8Ñ'8¸Ô'Cr   c                 óh   • [         R                  " [         R                  R                  X5      5      $ r   )r   rÎ   rÉ   r·  rÇ  s      r   r«   rÈ  h  ó   € ¤r§x¢x´·	±	×0AÑ0AÀ#Ó0LÔ'Mr   Úintc                 óÄ   >• [         R                  " UTS9nUR                  n[        UR                  5       H$  n[         R
                  R                  X5      XE'   M&     U$ ©N)rÙ   )r   rÐ   rÑ   rÒ   rË   rÉ   r·  )r‹   rŒ   rË   rÔ   rÕ   rd   Úresult_types         €r   r¨   Ú np_randint_impl_3.<locals>._implp  sI   ø€ Ü—(’(˜4 {Ñ3ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	× 1Ñ 1°#Ó <�“ñ 'àˆJr   )r“   r   r”   r   r   rØ   rÙ   r«  rR  Úgetattrr   )r‹   rŒ   rË   rR  r¨   rÏ  s        @r   Únp_randint_impl_3rÒ  `  s  ø€ ä�3œŸ™×&Ñ&¬:°d¼E¿M¹M×+JÑ+JÜ�4×ÑÙCÐCÜ�3œŸ™×&Ñ&¬:°d¼E¿M¹M×+JÑ+JÜ�d×ÑáMÐMÜ�3œŸ™×&Ñ&¬:°d¼E¿M¹M×+JÑ+JÜ�4œŸ™×'Ñ'¬J°t¼U¿^¹^×,LÑ,LÜ0:¸4¿:¹:Ü;@¿=¹=÷1Jñ 1Jä�s—|‘| T§]¡]Ó3ˆÜœb C¨ zÐ"2Ó3ˆõ	ð ˆð1Jð -Mð ,KÐ&r   c                  ó   • S $ )Nc                  óB   • [         R                  R                  SS5      $ rî   ©r   rÉ   Úuniformr    r   r   r«   Ú"np_uniform_impl0.<locals>.<lambda>{  ó   € ”2—9‘9×$Ñ$ S¨#Ô.r   r    r    r   r   Únp_uniform_impl0rÙ  y  ó   € á.Ð.r   c                 óè   ^• [        U [        R                  [        R                  45      (       aB  [        U[        R                  [        R                  45      (       a  [        S 5       mU4S j$ g g )Nc                 óz   • [        U5      n[        U5      n[        [        R                  X5      [	        SX45      4$ r±   ©rß   r   r   rÁ   Úuniform_impl)r§   rq   rr   Úlow_preprocessorÚhigh_preprocessors        r   r¨   Úuniform_impl2.<locals>._impl‚  s=   € ä3°AÓ6ÐÜ 4°QÓ 7ÐÜœUŸ]™]¨AÓ1´<ØÐ&ó4;ð ;ð ;r   c                 ó   >• T" X5      $ r   r    ©rq   rr   r¨   s     €r   r«   Úuniform_impl2.<locals>.<lambda>ˆ  s	   ø€ ™E !œKr   ré   rã  s     @r   Úuniform_impl2rå  ~  s]   ø€ ä�!”e—k‘k¤5§=¡=Ð1×2Ñ2´zØ”—‘œUŸ]™]Ð+÷8-ñ 8-ä	ñ	;ó 
ð	;ô
 (Ð'ð8-Ð2r   c                 óè   ^• [        U [        R                  [        R                  45      (       aB  [        U[        R                  [        R                  45      (       a  [        S 5       mU4S j$ g g )Nc                 óz   • [        U5      n[        U5      n[        [        R                  X5      [	        SX45      4$ r˜   rÝ  )r§   r‹   rŒ   rß  rà  s        r   r¨   Únp_uniform_impl2.<locals>._impl�  s=   € ä3°CÓ8ÐÜ 4°TÓ :ÐÜœUŸ]™]¨CÓ6¼ØÐ&ó9;ð ;ð ;r   c                 ó   >• T" X5      $ r   r    rÁ  s     €r   r«   Ú"np_uniform_impl2.<locals>.<lambda>•  rÃ  r   ré   rÁ  s     @r   Únp_uniform_impl2rë  ‹  s]   ø€ ä�#œŸ™¤U§]¡]Ð3×4Ñ4¼Ø”5—;‘;¤§¡Ð.÷:0ñ :0ä	ñ	;ó 
ð	;ô
 2Ð1ð:0Ð4r   c                 ó   ^ ^^• UUU 4S jnU$ )Nc                 ó¾   >• [        XT5      nUu  pVT	" X5      nT
" X5      nUR                  Xe5      n[        XU5      nUR                  XQR	                  Xx5      5      $ r   )r0   Úfsubrs   ro   rp   )r*   r+   r    rQ   r?   rq   rr   rx   rl  Úa_preprocessorÚb_preprocessorrB  s            €€€r   r‘   Úuniform_impl.<locals>.impl™  s\   ø€ Ü! '°EÓ:ˆ	Ø‰ˆÙ˜7Ó&ˆÙ˜7Ó&ˆØ—‘˜QÓ"ˆÜ˜G¨iÓ8ˆØ�|‰|˜AŸ|™|¨EÓ5Ó6Ð6r   r    )rB  rï  rð  r‘   s   ``` r   rÞ  rÞ  ˜  s   ú€ ÷7ð €Kr   c                 ób  • [        U [        R                  [        R                  45      (       aB  [        U[        R                  [        R                  45      (       a  [	        U5      (       a  S $ [        U [        R                  [        R                  45      (       aB  [        U[        R                  [        R                  45      (       a  [        U5      (       a  S $ [        U [        R                  [        R                  45      (       až  [        U[        R                  [        R                  45      (       an  [        U[        R                  5      (       dH  [        U[        R                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g g g )Nc                 ó@   • [         R                  R                  X5      $ r   rÕ  rÇ  s      r   r«   Ú"np_uniform_impl3.<locals>.<lambda>©  rÉ  r   c                 óh   • [         R                  " [         R                  R                  X5      5      $ r   )r   rÎ   rÉ   rÖ  rÇ  s      r   r«   rô  ¯  rË  r   c                 óÄ   • [         R                  " U5      nUR                  n[        UR                  5       H$  n[         R
                  R                  X5      XE'   M&     U$ r   )r   rÐ   rÑ   rÒ   rË   rÉ   rÖ  )r‹   rŒ   rË   rÔ   rÕ   rd   s         r   r¨   Únp_uniform_impl3.<locals>._implµ  sE   € Ü—(’(˜4“.ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	× 1Ñ 1°#Ó <�“ñ 'àˆJr   r  )r‹   rŒ   rË   r¨   s       r   Únp_uniform_impl3rø  ¤  s,  € ä�3œŸ™¤e§m¡mÐ4×5Ñ5¼*Ø”5—;‘;¤§¡Ð.÷;0ñ ;0ä�4×ÑÙCÐCÜ�3œŸ™¤e§m¡mÐ4×5Ñ5¼*Ø”5—;‘;¤§¡Ð.÷;0ñ ;0ä�d×Ññ NÐMÜ�3œŸ™¤e§m¡mÐ4×5Ñ5¼*Ø”5—;‘;¤§¡Ð.÷;0ñ ;0ä�4œŸ™×'Ñ'¬J°t¼U¿^¹^×,LÑ,LÜ0:¸4¿:¹:Ü;@¿=¹=÷1Jñ 1Jò	ð ˆð1Jð -Mð;0Ð5r   c                 óÌ   • S n[        U [        R                  [        R                  45      (       a2  [        U[        R                  [        R                  45      (       a  U$ g g )Nc                 óˆ   • [         R                   " 5       nSnX#:”  a  SU-
  nXpXU -
  [        R                  " X#-  5      -  -   $ )Nç      à?rð   ©rÉ   r#  r$  )r‹   rŒ   ÚuÚcs       r   r¨   Ú triangular_impl_2.<locals>._implÀ  sB   € Ü�MŠM‹OˆØˆØ‹5Ø�a‘ˆAØ�Ø˜S‘j¤D§I¢I¨a©eÓ$4Ñ4Ñ4Ð4r   rû   rÁ  s      r   Útriangular_impl_2r   ¾  sN   € ò5ô �#œŸ™¤U§]¡]Ð3×4Ñ4¼Ø”5—;‘;¤§¡Ð.÷:0ñ :0àˆð:0Ð4r   c                 ó,  • [        U [        R                  [        R                  45      (       ae  [        U[        R                  [        R                  45      (       a5  [        U[        R                  [        R                  45      (       a  S nU$ g g g )Nc                 ó®   • X:X  a  U $ [         R                   " 5       nX -
  X-
  -  nX4:”  a  SU-
  nSU-
  nXpXU -
  [        R                  " X4-  5      -  -   $ r÷   rü  )r‹   rŒ   Úmoderý  rþ  s        r   r¨   Ú triangular_impl_3.<locals>._implÒ  s^   € Ø‹{Ø�
Ü—’“ˆAØ‘ ¡
Ñ+ˆAØ‹uØ˜!‘G�Ø˜!‘G�Ø �TØ ™*¬¯	ª	°!±%Ó(8Ñ8Ñ8Ð8r   rû   )r‹   rŒ   r  r¨   s       r   Útriangular_impl_3r  Í  sm   € ä�3œŸ™¤e§m¡mÐ4×5Ñ5¼*Ø”5—;‘;¤§¡Ð.÷;0ñ ;0ä�$œŸ™¤e§m¡mÐ4×5Ñ5ò		9ð ˆð 6ð;0Ð5r   c                 ó,  • [        U [        R                  [        R                  45      (       ae  [        U[        R                  [        R                  45      (       a5  [        U[        R                  [        R                  45      (       a  S nU$ g g g )Nc                 óÀ   • X :X  a  U $ [         R                  R                  5       nX-
  X -
  -  nX4:”  a  SU-
  nSU-
  nX p XU -
  [        R                  " X4-  5      -  -   $ r÷   )r   rÉ   r#  r$  )Úleftr  Úrightrý  rþ  s        r   r¨   r  å  se   € Ø‹}Ø�Ü—	‘	× Ñ Ó"ˆAØ‘ ¡Ñ.ˆAØ‹uØ˜!‘G�Ø˜!‘G�Ø#�eØ 4™<¬4¯9ª9°Q±UÓ+;Ñ;Ñ;Ð;r   rû   )r  r  r	  r¨   s       r   r  r  à  sm   € ä�4œ%Ÿ+™+¤u§}¡}Ð5×6Ñ6¼:Ø”5—;‘;¤§¡Ð.÷<0ñ <0ä�uœuŸ{™{¬E¯M©MÐ:×;Ñ;ò		<ð ˆð <ð<0Ð6r   c                 ó6  • [        U5      (       a  SS j$ [        U5      (       a  SS j$ [        U[        R                  5      (       dH  [        U[        R
                  5      (       a1  [        UR                  [        R                  5      (       a  SS jnU$ g g )Nc                 óD   • [         R                  R                  U UU5      $ r   )r   rÉ   Ú
triangular©r  r  r	  rË   s       r   r«   Ú!triangular_impl.<locals>.<lambda>ö  s   € ´B·I±I×4HÑ4HÈØIMØINô5Pr   c                 ój   • [         R                  " [         R                  R                  XU5      5      $ r   )r   rÎ   rÉ   r  r  s       r   r«   r  û  s!   € ´B·H²HÜ�I‰I× Ñ  ¨UÓ3ô5
r   c                 óÆ   • [         R                  " U5      nUR                  n[        UR                  5       H%  n[         R
                  R                  XU5      XV'   M'     U$ r   )r   rÐ   rÑ   rÒ   rË   rÉ   r  )r  r  r	  rË   rÔ   rÕ   rd   s          r   r¨   Útriangular_impl.<locals>._impl  sG   € Ü—(’(˜4“.ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	× 4Ñ 4°TÀÓ G�“ñ 'àˆJr   r   r×   )r  r  r	  rË   r¨   s        r   Útriangular_implr  ó  s‡   € ä�4×ÑóPð 	Pô �d×Ñó
ð 	
ô 	�4œŸ™×'Ñ'¬J°t¼U¿^¹^×,LÑ,LÜ,6°t·z±zÜ7<·}±}÷-Fñ -Fô	ð ˆð-Fð -Mr   c                 óô   • [        U [        R                  [        R                  45      (       aI  [        U[        R                  [        R                  45      (       a  [	        [
        R
                  5      $ g g r   )r“   r   rê   r”   Ú_gammavariate_implrÉ   ©ÚalphaÚbetas     r   Úgammavariate_implr  
  sQ   € ä�%œ%Ÿ+™+¤u§}¡}Ð5×6Ñ6¼:Ø”5—;‘;¤§¡Ð.÷<0ñ <0ä!¤&§-¡-Ó0Ð0ð<0Ð6r   c                 óh   • [        U [        R                  [        R                  45      (       a  S $ g )Nc                 óB   • [         R                  R                  U S5      $ r÷   ©r   rÉ   Úgamma©Úshapes    r   r«   Ú%ol_np_random_gamma1.<locals>.<lambda>  s   € œRŸY™YŸ_™_¨U°CÔ8r   rû   r  s    r   Úol_np_random_gamma1r     s)   € ô �%œ%Ÿ+™+¤u§}¡}Ð5×6Ñ6Ù8Ð8ð 7r   c                 ó,  ^• [        U [        R                  [        R                  45      (       ad  [        U[        R                  [        R                  45      (       a4  [	        [        [        R                  R                  5      5      mU4S jnU$ g g )Nc                 ó   >• T" X5      $ r   r    )r  rÿ   r/   s     €r   r‘   Ú!ol_np_random_gamma2.<locals>.impl  s   ø€ Ù�eÓ#Ð#r   )r“   r   rê   r”   r   r  r   rÉ   )r  rÿ   r‘   r/   s      @r   Úol_np_random_gamma2r$    sg   ø€ ä�%œ%Ÿ+™+¤u§}¡}Ð5×6Ñ6¼:Ø”E—K‘K¤§¡Ð/÷<1ñ <1äÔ0´·±×1AÑ1AÓBÓCˆõ	$àˆð<1Ð6r   c                 ó   ^ • U 4S jnU$ )Nc                 óœ  >• S[         R                  " S5      -   nU S::  d  US::  a  [        S5      eU S:”  aÓ  [         R                  " SU -  S-
  5      nU [         R                  " S5      -
  nX-   n T" 5       nSUs=:  a  S:  d  O  M  ST" 5       -
  n[         R                  " USU-
  -  5      U-  nU [         R                  " U5      -  n	Xf-  U-  n
XEU-  -   U	-
  nX²-   SU
-  -
  S:¼  d  U[         R                  " U
5      :¼  a  X‘-  $ M™  U S:X  a"  [         R                  " ST" 5       -
  5      * U-  $  T" 5       n[         R
                  U -   [         R
                  -  nXÜ-  nUS::  a	  USU -  -  n	O[         R                  " XÞ-
  U -  5      * n	T" 5       nUS:”  a  XiU S-
  -  ::  a   X‘-  $ O U[         R                  " U	* 5      ::  a   X‘-  $ Mš  )	z1Gamma distribution.  Taken from CPython.
        rð   g      @rï   z*gammavariate: alpha and beta must be > 0.0r!  g      @gH¯¼šò×z>gËPÊÿÿï?)r#  r%  r{  r$  ÚexpÚe)r  r  ÚSG_MAGICCONSTÚainvÚbbbÚcccÚu1Úu2rH  r   Úzrl  rý  rr   Úpr*  s                  €r   r¨   Ú!_gammavariate_impl.<locals>._impl#  sÒ  ø€ ð œdŸhšh s›mÑ+ˆð
 �C‹<˜4 3›;ÜÐIÓJÐJà�3‹;ô —9’9˜S 5™[¨3Ñ.Ó/ˆDØœ$Ÿ(š( 3›-Ñ'ˆCØ‘,ˆCàÙ“Y�Ø˜bÕ+ 8Õ+ÙØ™7›9‘_�Ü—H’H˜R  R¡™[Ó)¨$Ñ.�Øœ$Ÿ(š( 1›+Ñ%�Ø‘E˜"‘H�Ø˜A™‘I˜a‘K�ØÑ$ s¨1¡uÑ,°Ó3°q¼D¿HºHÀQ»KÓ7GØ™8�Oñ ð �c‹\ô
 —H’H˜S¡7£9™_Ó-Ð-°Ñ4Ð4ð Ù“I�Ü—V‘V˜e‘^¤T§V¡VÑ+�Ø‘C�Ø˜“8Ø˜c %™iÑ(‘AäŸš 1¡3¨¡+Ó.Ð.�AÙ“Y�Ø�s“7Ø 5¨3¡;Ñ/Ó/Øð ‘8ˆOð	 0àœ4Ÿ8š8 Q B›<Ó'ØØ‘8ˆOñ r   r    ©r*  r¨   s   ` r   r  r  "  s   ø€ õ6ðn €Lr   c                 ó*  • [        U5      (       a  S $ [        U5      (       a  S $ [        U[        R                  5      (       dH  [        U[        R
                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g )Nc                 ó@   • [         R                  R                  X5      $ r   r  ©r  rÿ   rË   s      r   r«   Úgamma_impl.<locals>.<lambda>`  s   € ¬"¯)©)¯/©/¸%Ô*Gr   c                 óh   • [         R                  " [         R                  R                  X5      5      $ r   )r   rÎ   rÉ   r  r5  s      r   r«   r6  c  s   € ¬"¯(ª(´2·9±9·?±?À5Ó3PÔ*Qr   c                 óÄ   • [         R                  " U5      nUR                  n[        UR                  5       H$  n[         R
                  R                  X5      XE'   M&     U$ r   )r   rÐ   rÑ   rÒ   rË   rÉ   r  )r  rÿ   rË   rÔ   rÕ   rd   s         r   r¨   Úgamma_impl.<locals>._implg  sC   € Ü—(’(˜4“.ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	§¡°Ó =�“ñ 'àˆJr   r×   )r  rÿ   rË   r¨   s       r   Ú
gamma_implr:  ]  sy   € ä�4×ÑÙGÐGÜ�d×ÑáQÐQÜ�$œŸ™×&Ñ&¬:°d¼E¿N¹N×+KÑ+KÜ+5°d·j±jÜ6;·m±m÷,Eñ ,Eò	ð ˆð,Eð ,Lr   c                 ó*  • [        U5      (       a  S $ [        U5      (       a  S $ [        U[        R                  5      (       dH  [        U[        R
                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g )Nc                 ó@   • [         R                  R                  U 5      $ r   ©r   rÉ   Ústandard_gamma©r  rË   s     r   r«   Ú%standard_gamma_impl.<locals>.<lambda>s  s   € ¤2§9¡9×#;Ñ#;¸EÔ#Br   c                 óh   • [         R                  " [         R                  R                  U 5      5      $ r   )r   rÎ   rÉ   r>  r?  s     r   r«   r@  v  s   € ¤2§8¢8¬B¯I©I×,DÑ,DÀUÓ,KÔ#Lr   c                 óÄ   • [         R                  " U5      nUR                  n[        UR                  5       H$  n[         R
                  R                  U 5      X4'   M&     U$ r   )r   rÐ   rÑ   rÒ   rË   rÉ   r>  )r  rË   rÔ   rÕ   rd   s        r   r¨   Ú"standard_gamma_impl.<locals>._implz  sE   € Ü—(’(˜4“.ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	× 8Ñ 8¸Ó ?�“ñ 'àˆJr   r×   )r  rË   r¨   s      r   Ústandard_gamma_implrD  p  sy   € ä�4×ÑÙBÐBÜ�d×ÑáLÐLÜ�4œŸ™×'Ñ'¬J°t¼U¿^¹^×,LÑ,LÜ0:¸4¿:¹:Ü;@¿=¹=÷1Jñ 1Jò	ð ˆð1Jð -Mr   c                 óô   • [        U [        R                  [        R                  45      (       aI  [        U[        R                  [        R                  45      (       a  [	        [
        R                  5      $ g g r   )r“   r   rê   r”   Ú_betavariate_implrÉ   Úgammavariater  s     r   Úbetavariate_implrH  ƒ  sS   € ä�%œ%Ÿ+™+¤u§}¡}Ð5×6Ñ6¼:Ø”5—;‘;¤§¡Ð.÷<0ñ <0ä ¤×!4Ñ!4Ó5Ð5ð<0Ð6r   c                 ó,  ^• [        U [        R                  [        R                  45      (       ad  [        U[        R                  [        R                  45      (       a4  [	        [        [        R                  R                  5      5      mU4S jnU$ g g )Nc                 ó   >• T" X5      $ r   r    )rq   rr   r/   s     €r   r‘   Úol_np_random_beta.<locals>.impl�  s   ø€ Ù�a“8ˆOr   )	r“   r   rê   r”   r   rF  r   rÉ   r  )rq   rr   r‘   r/   s      @r   Úol_np_random_betarL  Š  se   ø€ ä�!”e—k‘k¤5§=¡=Ð1×2Ñ2´zØ”—‘œUŸ]™]Ð+÷8-ñ 8-äÔ0´·±·±ÓAÓBˆõ	àˆð8-Ð2r   c                 ó   ^ • U 4S jnU$ )Nc                 ó@   >• T" U S5      nUS:X  a  gX"T" US5      -   -  $ )z0Beta distribution.  Taken from CPython.
        rð   rï   r    )r  r  rg   r  s      €r   r¨   Ú _betavariate_impl.<locals>._impl•  s/   ø€ ñ
 �%˜ÓˆØ�‹8Øà™E $¨›OÑ+Ñ,Ð,r   r    )r  r¨   s   ` r   rF  rF  ”  s   ø€ õ	-ð €Lr   c                 ó*  • [        U5      (       a  S $ [        U5      (       a  S $ [        U[        R                  5      (       dH  [        U[        R
                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g )Nc                 ó@   • [         R                  R                  X5      $ r   )r   rÉ   r  ©rq   rr   rË   s      r   r«   Úbeta_impl.<locals>.<lambda>¥  s   € ¤"§)¡)§.¡.°Ô"6r   c                 óh   • [         R                  " [         R                  R                  X5      5      $ r   )r   rÎ   rÉ   r  rR  s      r   r«   rS  ©  s   € ¤"§(¢(¬2¯9©9¯>©>¸!Ó+?Ô"@r   c                 óÄ   • [         R                  " U5      nUR                  n[        UR                  5       H$  n[         R
                  R                  X5      XE'   M&     U$ r   )r   rÐ   rÑ   rÒ   rË   rÉ   r  )rq   rr   rË   rÔ   rÕ   rd   s         r   r¨   Úbeta_impl.<locals>._impl­  sC   € Ü—(’(˜4“.ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	§¡¨qÓ 4�“ñ 'àˆJr   r×   )rq   rr   rË   r¨   s       r   Ú	beta_implrW  ¢  s|   € ä�4×ÑÙ6Ð6Ü�d×Ññ AÐ@Ü�4œŸ™×'Ñ'¬J°t¼U¿^¹^×,LÑ,LÜ0:¸4¿:¹:Ü;@¿=¹=÷1Jñ 1Jò	ð ˆð1Jð -Mr   c                 óL   • [        U [        R                  5      (       a  S nU$ g )Nc                 ób   • [         R                  " S[        R                  " 5       -
  5      * U -  $ )z;Exponential distribution.  Taken from CPython.
            rð   )r#  r%  rÉ   )Úlambds    r   r¨   Úexpovariate_impl.<locals>._impl¹  s&   € ô —H’H˜S¤6§=¢=£?Ñ2Ó3Ð3°eÑ;Ð;r   ©r“   r   rê   )rZ  r¨   s     r   Úexpovariate_implr]  ¶  s$   € ä�%œŸ™×%Ñ%ò	<ð ˆð &r   c                 ól   • [        U [        R                  [        R                  45      (       a  S nU$ g )Nc                 ót   • [         R                  " S[        R                  R                  5       -
  5      * U -  $ r÷   ©r#  r%  r   rÉ   ©rÿ   s    r   r¨   Úexponential_impl.<locals>._implÉ  s+   € Ü—H’H˜S¤2§9¡9×#3Ñ#3Ó#5Ñ5Ó6Ð6¸Ñ>Ð>r   rû   )rÿ   r¨   s     r   Úexponential_implrc  Æ  s+   € ä�%œ%Ÿ+™+¤u§}¡}Ð5×6Ñ6ò	?àˆð 7r   c                 ó*  • [        U5      (       a  S $ [        U5      (       a  S $ [        U[        R                  5      (       dH  [        U[        R
                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g )Nc                 ó@   • [         R                  R                  U 5      $ r   )r   rÉ   Úexponential©rÿ   rË   s     r   r«   Ú"exponential_impl.<locals>.<lambda>Ñ  s   € ¤2§9¡9×#8Ñ#8¸Ô#?r   c                 óh   • [         R                  " [         R                  R                  U 5      5      $ r   )r   rÎ   rÉ   rf  rg  s     r   r«   rh  Ô  s   € ¤2§8¢8¬B¯I©I×,AÑ,AÀ%Ó,HÔ#Ir   c                 óÄ   • [         R                  " U5      nUR                  n[        UR                  5       H$  n[         R
                  R                  U 5      X4'   M&     U$ r   )r   rÐ   rÑ   rÒ   rË   rÉ   rf  ©rÿ   rË   rÔ   rÕ   rd   s        r   r¨   rb  Ø  sE   € Ü—(’(˜4“.ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	× 5Ñ 5°eÓ <�“ñ 'àˆJr   r×   ©rÿ   rË   r¨   s      r   rc  rc  Î  sy   € ä�4×ÑÙ?Ð?Ü�d×ÑáIÐIÜ�4œŸ™×'Ñ'¬J°t¼U¿^¹^×,LÑ,LÜ,6°t·z±zÜ7<·}±}÷-Fñ -Fò	ð ˆð-Fð -Mr   c                  ó   • S n U $ )Nc                  ón   • [         R                  " S[        R                  R                  5       -
  5      * $ r÷   r`  r    r   r   r¨   rb  ä  s&   € Ü—’˜œrŸy™y×/Ñ/Ó1Ñ1Ó2Ð2Ð2r   r    r¹   s    r   rc  rc  á  s   € ò3à€Lr   c                 ó*  • [        U 5      (       a  S $ [        U 5      (       a  S $ [        U [        R                  5      (       dH  [        U [        R
                  5      (       a/  [        U R                  [        R                  5      (       a  S nU$ g g )Nc                 ó>   • [         R                  R                  5       $ r   )r   rÉ   Ústandard_exponentialrÊ   s    r   r«   Ú+standard_exponential_impl.<locals>.<lambda>ì  s   € œBŸI™I×:Ñ:Ô<r   c                 óf   • [         R                  " [         R                  R                  5       5      $ r   )r   rÎ   rÉ   rq  rÊ   s    r   r«   rr  ï  s   € œBŸHšH¤R§Y¡Y×%CÑ%CÓ%EÔFr   c                 óÂ   • [         R                  " U 5      nUR                  n[        UR                  5       H#  n[         R
                  R                  5       X#'   M%     U$ r   )r   rÐ   rÑ   rÒ   rË   rÉ   rq  rÓ   s       r   r¨   Ú(standard_exponential_impl.<locals>._implô  sC   € Ü—(’(˜4“.ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	× >Ñ >Ó @�“ñ 'àˆJr   r×   rÚ   s     r   Ústandard_exponential_implrv  é  sv   € ä�4×ÑÙ<Ð<Ü�d×ÑáFÐFÜ�4œŸ™×'Ñ'Ü�4œŸ™×(Ñ(¬Z¸¿
¹
Ü8=¿¹÷.Gñ .Gò	ð ˆð.GÐ(r   c                  ó   • S $ )Nc                  óB   • [         R                  R                  SS5      $ rî   ©r   rÉ   Ú	lognormalr    r   r   r«   Ú$np_lognormal_impl0.<locals>.<lambda>ÿ  s   € ”2—9‘9×&Ñ& s¨CÔ0r   r    r    r   r   Únp_lognormal_impl0r|  ý  s   € á0Ð0r   c                 óh   • [        U [        R                  [        R                  45      (       a  S $ g )Nc                 óB   • [         R                  R                  U S5      $ r÷   ry  ©Úmeans    r   r«   Ú%np_log_normal_impl1.<locals>.<lambda>  s   € œBŸI™I×/Ñ/°°cÔ:r   rû   r  s    r   Únp_log_normal_impl1r‚    s'   € ä�$œŸ™¤e§m¡mÐ4×5Ñ5Ù:Ð:ð 6r   c                 ó(  ^• [        U [        R                  [        R                  45      (       ab  [        U[        R                  [        R                  45      (       a2  [	        [        [        R                  R                  5      5      mU4S j$ g g )Nc                 ó   >• T" X5      $ r   r    ©r€  râ   r/   s     €r   r«   Ú%np_log_normal_impl2.<locals>.<lambda>  s	   ø€ ¡2 d¤?r   )	r“   r   rê   r”   r   Ú_lognormvariate_implr   rÉ   rò   r…  s     @r   Únp_log_normal_impl2rˆ    sc   ø€ ä�$œŸ™¤e§m¡mÐ4×5Ñ5¼*Ø”E—K‘K¤§¡Ð/÷;1ñ ;1äÔ2´2·9±9×3CÑ3CÓDÓEˆÜ2Ð2ð;1Ð5r   c                 ó*  • [        U5      (       a  S $ [        U5      (       a  S $ [        U[        R                  5      (       dH  [        U[        R
                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g )Nc                 ó@   • [         R                  R                  X5      $ r   ry  ©r€  râ   rË   s      r   r«   Ú lognormal_impl.<locals>.<lambda>  s   € ¬¯©×)<Ñ)<¸TÔ)Ir   c                 óh   • [         R                  " [         R                  R                  X5      5      $ r   )r   rÎ   rÉ   rz  r‹  s      r   r«   rŒ    s   € ¬¯ª´"·)±)×2EÑ2EÀdÓ2RÔ)Sr   c                 óÄ   • [         R                  " U5      nUR                  n[        UR                  5       H$  n[         R
                  R                  X5      XE'   M&     U$ r   )r   rÐ   rÑ   rÒ   rË   rÉ   rz  )r€  râ   rË   rÔ   rÕ   rd   s         r   r¨   Úlognormal_impl.<locals>._impl  sE   € Ü—(’(˜4“.ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	× 3Ñ 3°DÓ @�“ñ 'àˆJr   r×   )r€  râ   rË   r¨   s       r   Úlognormal_implr�    sy   € ä�4×ÑÙIÐIÜ�d×ÑáSÐSÜ�4œŸ™×'Ñ'¬J°t¼U¿^¹^×,LÑ,LÜ,6°t·z±zÜ7<·}±}÷-Fñ -Fò	ð ˆð-Fð -Mr   c                 óÔ   ^• [        U [        R                  5      (       aH  [        U[        R                  5      (       a(  [        [	        [
        R                  5      5      mU4S j$ g g )Nc                 ó   >• T" X5      $ r   r    ©rá   râ   r/   s     €r   r«   Ú%lognormvariate_impl.<locals>.<lambda>'  s	   ø€ ¡ B¤r   )r“   r   rê   r   r‡  rÉ   Úgaussr“  s     @r   Úlognormvariate_implr–  #  sG   ø€ ä�"”e—k‘k×"Ñ"¤z°%¼¿¹×'EÑ'EÜÔ2´6·<±<Ó@ÓAˆÜ.Ð.ð (FÐ"r   c                 ó   ^ • U 4S j$ )Nc                 ó<   >• [         R                  " T" X5      5      $ r   )r#  r'  )rá   râ   Ú_gausss     €r   r«   Ú&_lognormvariate_impl.<locals>.<lambda>+  s   ø€ œTŸXšX¡f¨RÓ&7Ô8r   r    )r™  s   `r   r‡  r‡  *  s	   ø€ Ü8Ð8r   c                 óL   • [        U [        R                  5      (       a  S nU$ g )Nc                 óH   • S[         R                   " 5       -
  nSUSU -  -  -  $ )z)Pareto distribution.  Taken from CPython.rð   )rÉ   )r  rý  s     r   r¨   Ú!paretovariate_impl.<locals>._impl1  s(   € ð ”f—m’m“oÑ%ˆAØ˜˜s 5™yÑ)Ñ)Ð)r   r\  )r  r¨   s     r   Úparetovariate_implrž  .  s$   € ä�%œŸ™×%Ñ%ò	*ð ˆð &r   c                 óL   • [        U [        R                  5      (       a  S nU$ g )Nc                 ó`   • S[         R                  R                  5       -
  nSUSU -  -  -  S-
  $ )Nrð   rD   rÈ   ©rq   rý  s     r   r¨   Úpareto_impl.<locals>._impl=  s1   € à”b—i‘i×&Ñ&Ó(Ñ(ˆAØ˜˜s 1™u™Ñ%¨Ñ)Ð)r   r\  ©rq   r¨   s     r   Úpareto_implr¤  :  s$   € ä�!”U—[‘[×!Ñ!ò	*ð
 ˆð "r   c                 ó*  • [        U5      (       a  S $ [        U5      (       a  S $ [        U[        R                  5      (       dH  [        U[        R
                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g )Nc                 ó@   • [         R                  R                  U 5      $ r   )r   rÉ   Úpareto©rq   rË   s     r   r«   Úpareto_impl.<locals>.<lambda>H  s   € œrŸy™y×/Ñ/°Ô2r   c                 óh   • [         R                  " [         R                  R                  U 5      5      $ r   )r   rÎ   rÉ   r§  r¨  s     r   r«   r©  K  s   € œrŸxšx¬¯	©	×(8Ñ(8¸Ó(;Ô<r   c                 óÄ   • [         R                  " U5      nUR                  n[        UR                  5       H$  n[         R
                  R                  U 5      X4'   M&     U$ r   )r   rÐ   rÑ   rÒ   rË   rÉ   r§  ©rq   rË   rÔ   rÕ   rd   s        r   r¨   r¢  O  sE   € Ü—(’(˜4“.ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	× 0Ñ 0°Ó 3�“ñ 'àˆJr   r×   ©rq   rË   r¨   s      r   r¤  r¤  E  sy   € ä�4×ÑÙ2Ð2Ü�d×Ñá<Ð<Ü�4œŸ™×'Ñ'¬J°t¼U¿^¹^×,LÑ,LÜ,6°t·z±zÜ7<·}±}÷-Fñ -Fò	ð ˆð-Fð -Mr   c                 óÌ   • [        U [        R                  [        R                  45      (       a5  [        U[        R                  [        R                  45      (       a  S nU$ g g )Nc                 ór   • S[         R                   " 5       -
  nU [        R                  " U5      * SU-  -  -  $ )z*Weibull distribution.  Taken from CPython.rð   )rÉ   r#  r%  )r  r  rý  s      r   r¨   Ú"weibullvariate_impl.<locals>._impl\  s2   € ð ”f—m’m“oÑ%ˆAØœTŸXšX a›[˜L¨c°$©hÑ7Ñ7Ð7r   rû   )r  r  r¨   s      r   Úweibullvariate_implr±  X  sN   € ä�%œ%Ÿ+™+¤u§}¡}Ð5×6Ñ6¼:Ø”5—;‘;¤§¡Ð.÷<0ñ <0ò	8ð ˆð<0Ð6r   c                 ól   • [        U [        R                  [        R                  45      (       a  S nU$ g )Nc                 ó~   • S[         R                  R                  5       -
  n[        R                  " U5      * SU -  -  $ r÷   ©r   rÉ   r#  r%  r¡  s     r   r¨   Úweibull_impl.<locals>._implh  s2   € à”b—i‘i×&Ñ&Ó(Ñ(ˆAÜ—X’X˜a“[�L c¨!¡eÑ,Ð,r   rû   r£  s     r   Úweibull_implr¶  e  s-   € ä�!”e—k‘k¤5§=¡=Ð1×2Ñ2ò	-ð
 ˆð 3r   c                 ó*  • [        U5      (       a  S $ [        U5      (       a  S $ [        U[        R                  5      (       dH  [        U[        R
                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g )Nc                 ó@   • [         R                  R                  U 5      $ r   )r   rÉ   Úweibullr¨  s     r   r«   Úweibull_impl2.<locals>.<lambda>s  s   € œrŸy™y×0Ñ0°Ô3r   c                 óh   • [         R                  " [         R                  R                  U 5      5      $ r   )r   rÎ   rÉ   r¹  r¨  s     r   r«   rº  v  s   € œrŸxšx¬¯	©	×(9Ñ(9¸!Ó(<Ô=r   c                 óÄ   • [         R                  " U5      nUR                  n[        UR                  5       H$  n[         R
                  R                  U 5      X4'   M&     U$ r   )r   rÐ   rÑ   rÒ   rË   rÉ   r¹  r¬  s        r   r¨   Úweibull_impl2.<locals>._implz  sE   € Ü—(’(˜4“.ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	× 1Ñ 1°!Ó 4�“ñ 'àˆJr   r×   r­  s      r   Úweibull_impl2r¾  p  sy   € ä�4×ÑÙ3Ð3Ü�d×Ñá=Ð=Ü�4œŸ™×'Ñ'¬J°t¼U¿^¹^×,LÑ,LÜ,6°t·z±zÜ7<·}±}÷-Fñ -Fò	ð ˆð-Fð -Mr   c                 ó´   • [        U [        R                  5      (       a9  [        U[        R                  5      (       a  [        [        R                  5      $ g g r   )r“   r   rê   Ú_vonmisesvariate_implrÉ   ©rá   Úkappas     r   Úvonmisesvariate_implrÃ  ƒ  s;   € ä�"”e—k‘k×"Ñ"¤z°%¼¿¹×'EÑ'EÜ$¤V§]¡]Ó3Ð3ð (FÐ"r   c                 óÈ   • [        U [        R                  5      (       aC  [        U[        R                  5      (       a#  [        [        R
                  R
                  5      $ g g r   )r“   r   rê   rÀ  r   rÉ   rÁ  s     r   rÃ  rÃ  ‰  sA   € ä�"”e—k‘k×"Ñ"¤z°%¼¿¹×'EÑ'EÜ$¤R§Y¡Y×%5Ñ%5Ó6Ð6ð (FÐ"r   c                 ó   ^ • U 4S jnU$ )Nc                 óZ  >• US::  a  S[         R                  -  T" 5       -  $ SU-  nU[         R                  " SX"-  -   5      -   n T" 5       n[         R                  " [         R                  U-  5      nXSU-   -  nT" 5       nUSXf-  -
  :  d   USU-
  [         R                  " U5      -  ::  a  OMj  SU-  nX…-   SX…-  -   -  n	T" 5       n
U
S:”  a/  U [         R
                  " U	5      -   S[         R                  -  -  nU$ U [         R
                  " U	5      -
  S[         R                  -  -  nU$ )zŒCircular data distribution.  Taken from CPython.
Note the algorithm in Python 2.6 and Numpy is different:
http://bugs.python.org/issue17141
g�íµ ÷Æ°>r!  rû  rð   )r#  Úpir$  Úcosr'  Úacos)rá   rÂ  Úsrl  r-  r/  Údr.  Úqr)  Úu3Úthetar*  s               €r   r¨   Ú$_vonmisesvariate_impl.<locals>._impl�  s  ø€ ð �D‹=ØœŸ™‘=¡7£9Ñ,Ð,à�%‰KˆØ”—	’	˜# ¡™+Ó&Ñ&ˆàÙ“ˆBÜ—’œŸ™ 2™Ó&ˆAà˜‘U‘ˆAÙ“ˆBØ�C˜!™%‘KÓ 2¨#°©'´T·X²X¸a³[Ñ)@Ó#@Øñ ð �!‰GˆØ‰U�s˜Q™U‘{Ñ#ˆÙ‹YˆØ�‹8Øœ$Ÿ)š) A›,Ñ&¨3´·±©=Ñ9ˆEð ˆð œ$Ÿ)š) A›,Ñ&¨3´·±©=Ñ9ˆEàˆr   r    r2  s   ` r   rÀ  rÀ  �  s   ø€ õ&ðP €Lr   c                 ó*  • [        U5      (       a  S $ [        U5      (       a  S $ [        U[        R                  5      (       dH  [        U[        R
                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g )Nc                 ó@   • [         R                  R                  X5      $ r   )r   rÉ   Úvonmises©rá   rÂ  rË   s      r   r«   Úvonmises_impl.<locals>.<lambda>¾  s   € ¤r§y¡y×'9Ñ'9¸"Ô'Dr   c                 óh   • [         R                  " [         R                  R                  X5      5      $ r   )r   rÎ   rÉ   rÒ  rÓ  s      r   r«   rÔ  Á  s   € ¤r§x¢x´·	±	×0BÑ0BÀ2Ó0MÔ'Nr   c                 óÄ   • [         R                  " U5      nUR                  n[        UR                  5       H$  n[         R
                  R                  X5      XE'   M&     U$ r   )r   rÐ   rÑ   rÒ   rË   rÉ   rÒ  )rá   rÂ  rË   rÔ   rÕ   rd   s         r   r¨   Úvonmises_impl.<locals>._implÅ  sE   € Ü—(’(˜4“.ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	× 2Ñ 2°2Ó =�“ñ 'àˆJr   r×   )rá   rÂ  rË   r¨   s       r   Úvonmises_implrØ  »  óy   € ä�4×ÑÙDÐDÜ�d×ÑáNÐNÜ�4œŸ™×'Ñ'¬J°t¼U¿^¹^×,LÑ,LÜ0:¸4¿:¹:Ü;@¿=¹=÷1Jñ 1Jò	ð ˆð1Jð -Mr   c                 ó¬   • [        U [        R                  5      (       a5  [        U[        R                  [        R                  45      (       a  S nU$ g g )Nc           	      ó<  • U S:  a  [        S5      eSUs=::  a  S::  d  O  [        S5      eUS:X  a  gUS:X  a  U $ US:„  nU(       a  SU-
  nSU-
  nSnX0-  nUS::  a  US	-  nU S	-  n X0-  nU S:”  d   eUS::  a  M  X-  n[        XS
[        R                  " Xc-  S-   5      -  -   5      nSnUS:”  ak  Sn	[        R
                  R                  5       n
UnX—::  a<  X«::  a  X‚(       a  X	-
  OU	-  nUS-  nO"X«-  n
U	S-  n	X	-
  S-   U-  U-  X“-  -  nX—::  a  M<  US:”  a  Mk  U$ )zp
Binomial distribution.  Numpy's variant of the BINV algorithm
is used.
(Numpy uses BTPE for n*p >= 30, though)
r   zbinomial(): n <= 0rï   rð   zbinomial(): p outside of [0, 1]rû  rD   gÒèxÖ0 rG   ç      $@)r{  Úminr#  r$  r   rÉ   )ri  r0  ÚflippedrÌ  ÚnitersÚqnÚnp_prodÚboundr�   ÚXÚUÚpxs               r   r¨   Úbinomial_impl.<locals>._implÒ  s`  € ð �1‹uÜ Ð!5Ó6Ð6Ø˜1•O •OÜ Ð!BÓCÐCØ�C‹xØØ�C‹xØ�à˜#‘gˆGÞØ˜!‘G�Ø�a‘ˆAàˆFØ‘ˆBØ˜“,ð ˜1‘�Ø�a‘�Ø‘V�Ø˜1“u��uð ˜•,ð ‘eˆGÜ˜ T¬D¯IªI°g±kÀA±oÓ,FÑ%FÑFÓGˆEàˆEØ˜1“*Ø�Ü—I‘I×$Ñ$Ó&�Ø�Ø“jØ“wØ­' ¢°qÑ8˜Ø !™˜ØØ‘G�AØ˜‘F�AØ™5 1™9¨™/¨BÑ.°1±5Ñ9�Bð •jð	 ˜1•*ð ˆLr   )r“   r   r”   rê   ©ri  r0  r¨   s      r   Úbinomial_implrè  Î  sG   € ä�!”U—]‘]×#Ñ#¬
Ø”—‘œUŸ]™]Ð+÷)-ñ )-ò/	ðb ˆðg)-Ð#r   c                 ó*  • [        U5      (       a  S $ [        U5      (       a  S $ [        U[        R                  5      (       dH  [        U[        R
                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g )Nc                 ó@   • [         R                  R                  X5      $ r   )r   rÉ   Úbinomial©ri  r0  rË   s      r   r«   Úbinomial_impl.<locals>.<lambda>	  s   € ¤"§)¡)×"4Ñ"4°QÔ":r   c                 óh   • [         R                  " [         R                  R                  X5      5      $ r   )r   rÎ   rÉ   rë  rì  s      r   r«   rí    s   € ¤"§(¢(¬2¯9©9×+=Ñ+=¸aÓ+CÔ"Dr   c                 óÞ   • [         R                  " U[         R                  S9nUR                  n[	        UR
                  5       H$  n[         R                  R                  X5      XE'   M&     U$ rÎ  )r   rÐ   ÚintprÑ   rÒ   rË   rÉ   rë  )ri  r0  rË   rÔ   rÕ   rd   s         r   r¨   ræ    sL   € Ü—(’(˜4¤r§w¡wÑ/ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	× 2Ñ 2°1Ó 8�“ñ 'àˆJr   r×   )ri  r0  rË   r¨   s       r   rè  rè    s|   € ä�4×ÑÙ:Ð:Ü�d×Ññ EÐDÜ�4œŸ™×'Ñ'¬J°t¼U¿^¹^×,LÑ,LÜ,6°t·z±zÜ7<·}±}÷-Fñ -Fò	ð ˆð-Fð -Mr   c                 ól   • [        U [        R                  [        R                  45      (       a  S nU$ g )Nc                 óL   • S[         R                  R                  U S-  5      -  $ ©Nr!  r=  )Údfs    r   r¨   Úchisquare_impl.<locals>._impl  s    € ØœŸ™×1Ñ1°"°s±(Ó;Ñ;Ð;r   rû   ©rô  r¨   s     r   Úchisquare_implr÷    s-   € ä�"”u—{‘{¤E§M¡MÐ2×3Ñ3ò	<ð ˆð	 4r   c                 ó*  • [        U5      (       a  S $ [        U5      (       a  S $ [        U[        R                  5      (       dH  [        U[        R
                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g )Nc                 ó@   • [         R                  R                  U 5      $ r   ©r   rÉ   Ú	chisquare©rô  rË   s     r   r«   Ú!chisquare_impl2.<locals>.<lambda>&  s   € ¤§	¡	× 3Ñ 3°BÔ 7r   c                 óh   • [         R                  " [         R                  R                  U 5      5      $ r   )r   rÎ   rÉ   rû  rü  s     r   r«   rý  (  s   € ¤§¢¬¯©×)<Ñ)<¸RÓ)@Ô Ar   c                 óÄ   • [         R                  " U5      nUR                  n[        UR                  5       H$  n[         R
                  R                  U 5      X4'   M&     U$ r   )r   rÐ   rÑ   rÒ   rË   rÉ   rû  ©rô  rË   rÔ   rÕ   rd   s        r   r¨   Úchisquare_impl2.<locals>._impl,  sE   € Ü—(’(˜4“.ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	× 3Ñ 3°BÓ 7�“ñ 'àˆJr   r×   ©rô  rË   r¨   s      r   Úchisquare_impl2r  #  sy   € ä�4×ÑÙ7Ð7Ü�d×ÑÙAÐAÜ�4œŸ™×'Ñ'¬J°t¼U¿^¹^×,LÑ,LÜ,6°t·z±zÜ7<·}±}÷-Fñ -Fò	ð ˆð-Fð -Mr   c                 óÌ   • [        U [        R                  [        R                  45      (       a5  [        U[        R                  [        R                  45      (       a  S nU$ g g )Nc                 óŒ   • [         R                  R                  U 5      U-  [         R                  R                  U5      U -  -  $ r   rú  )ÚdfnumÚdfdens     r   r¨   Úf_impl.<locals>._impl9  s:   € Ü—Y‘Y×(Ñ(¨Ó/°%Ñ7Ü—Y‘Y×(Ñ(¨Ó/°%Ñ7ñ9ð :r   rû   )r  r  r¨   s      r   Úf_implr	  5  sN   € ä�%œ%Ÿ+™+¤u§}¡}Ð5×6Ñ6¼:Ø”E—K‘K¤§¡Ð/÷<1ñ <1ò	:ð ˆð<1Ð6r   c                 ó¢  • [        U [        R                  [        R                  45      (       aB  [        U[        R                  [        R                  45      (       a  [	        U5      (       a  S $ [        U [        R                  [        R                  45      (       aB  [        U[        R                  [        R                  45      (       a  [        U5      (       a  S $ [        U[        R                  5      (       dH  [        U[        R                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g )Nc                 ó@   • [         R                  R                  X5      $ r   )r   rÉ   r)  ©r  r  rË   s      r   r«   Úf_impl.<locals>.<lambda>E  s   € ¬"¯)©)¯+©+°eÔ*Cr   c                 óh   • [         R                  " [         R                  R                  X5      5      $ r   )r   rÎ   rÉ   r)  r  s      r   r«   r  J  s   € ¬"¯(ª(´2·9±9·;±;¸uÓ3LÔ*Mr   c                 óÄ   • [         R                  " U5      nUR                  n[        UR                  5       H$  n[         R
                  R                  X5      XE'   M&     U$ r   )r   rÐ   rÑ   rÒ   rË   rÉ   r)  )r  r  rË   rÔ   rÕ   rd   s         r   r¨   r  N  sC   € Ü—(’(˜4“.ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	§¡¨EÓ 9�“ñ 'àˆJr   r  )r  r  rË   r¨   s       r   r	  r	  @  sé   € ä�5œ5Ÿ;™;¬¯©Ð6×7Ñ7¼JØ”E—K‘K¤§¡Ð/÷=1ñ =1ä�4×ÑÙCÐCÜ�5œ5Ÿ;™;¬¯©Ð6×7Ñ7¼JØ”E—K‘K¤§¡Ð/÷=1ñ =1ä�d×ÑáMÐMÜ�4œŸ™×'Ñ'¬J°t¼U¿^¹^×,LÑ,LÜ0:¸4¿:¹:Ü;@¿=¹=÷1Jñ 1Jò	ð ˆð1Jð -Mr   c                 ól   • [        U [        R                  [        R                  45      (       a  S nU$ g )Nc                 ó”  • U S::  d  U S:”  a  [        S5      eSU -
  nU S:¼  aG  [        S5      nU =p4[        R                  R                  5       nXS:”  a  XA-  nX4-  nUS-  nXS:”  a  M  U$ [        R
                  " [        R                  " S[        R                  R                  5       -
  5      [        R                  " U5      -  5      $ )Nrï   rð   z geometric(): p outside of (0, 1]gUUUUUUÕ?rD   )r{  rÌ  r   rÉ   r#  Úceilr%  )r0  rÌ  rã  ÚsumÚprodrä  s         r   r¨   Úgeometric_impl.<locals>._implZ  s·   € à�C‹x˜1˜s›7Ü Ð!CÓDÐDØ�a‘ˆAØÐ.Ó.Ü˜“F�Ø��Ü—I‘I×$Ñ$Ó&�Ø“gØ‘I�DØ‘K�CØ˜‘F�Að •gð �ä—y’y¤§¢¨#´·	±	×0@Ñ0@Ó0BÑ*BÓ!CÜ!%§¢¨!£ñ"-ó .ð .r   rû   )r0  r¨   s     r   Úgeometric_implr  W  s-   € ä�!”e—k‘k¤5§=¡=Ð1×2Ñ2ò	.ð$ ˆð' 3r   c                 ó*  • [        U5      (       a  S $ [        U5      (       a  S $ [        U[        R                  5      (       dH  [        U[        R
                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g )Nc                 ó@   • [         R                  R                  U 5      $ r   )r   rÉ   Ú	geometric©r0  rË   s     r   r«   Ú geometric_impl.<locals>.<lambda>r  ó   € œrŸy™y×2Ñ2°1Ô5r   c                 óh   • [         R                  " [         R                  R                  U 5      5      $ r   )r   rÎ   rÉ   r  r  s     r   r«   r  u  ó   € œrŸxšx¬¯	©	×(;Ñ(;¸AÓ(>Ô?r   c                 óÞ   • [         R                  " U[         R                  S9nUR                  n[	        UR
                  5       H$  n[         R                  R                  U 5      X4'   M&     U$ rÎ  )r   rÐ   Úint64rÑ   rÒ   rË   rÉ   r  ©r0  rË   rÔ   rÕ   rd   s        r   r¨   r  y  óL   € Ü—(’(˜4¤r§x¡xÑ0ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	× 3Ñ 3°AÓ 6�“ñ 'àˆJr   r×   ©r0  rË   r¨   s      r   r  r  o  sy   € ä�4×ÑÙ5Ð5Ü�d×Ñá?Ð?Ü�4œŸ™×'Ñ'¬J°t¼U¿^¹^×,LÑ,LÜ,6°t·z±zÜ7<·}±}÷-Fñ -Fò	ð ˆð-Fð -Mr   c                 óÌ   • [        U [        R                  [        R                  45      (       a5  [        U[        R                  [        R                  45      (       a  S nU$ g g )Nc                 ó¤   • S[         R                  R                  5       -
  nX[        R                  " [        R                  " U5      * 5      -  -
  $ r÷   r´  ©rù   rÿ   rä  s      r   r¨   Úgumbel_impl.<locals>._impl†  s:   € Ø”b—i‘i×&Ñ&Ó(Ñ(ˆAØ¤§¢¬4¯8ª8°A«;¨,Ó!7Ñ7Ñ7Ð7r   rû   r  s      r   Úgumbel_implr(  ‚  sN   € ä�#œŸ™¤U§]¡]Ð3×4Ñ4¼Ø”E—K‘K¤§¡Ð/÷:1ñ :1ò	8ð ˆð:1Ð4r   c                 ó*  • [        U5      (       a  S $ [        U5      (       a  S $ [        U[        R                  5      (       dH  [        U[        R
                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g )Nc                 ó@   • [         R                  R                  X5      $ r   )r   rÉ   Úgumbelr  s      r   r«   Úgumbel_impl3.<locals>.<lambda>�  r  r   c                 óh   • [         R                  " [         R                  R                  X5      5      $ r   )r   rÎ   rÉ   r+  r  s      r   r«   r,  “  r  r   c                 óÄ   • [         R                  " U5      nUR                  n[        UR                  5       H$  n[         R
                  R                  X5      XE'   M&     U$ r   )r   rÐ   rÑ   rÒ   rË   rÉ   r+  r  s         r   r¨   Úgumbel_impl3.<locals>._impl—  r  r   r×   r  s       r   Úgumbel_impl3r0  �  rÙ  r   c                 ó,  • [        U [        R                  [        R                  45      (       ae  [        U[        R                  [        R                  45      (       a5  [        U[        R                  [        R                  45      (       a  S nU$ g g g )Nc                 ó†  • [        U5      [        U 5      -   [        U5      -
  n[        [        X5      5      nUn[        U5      nUS:”  aV  US:”  aP  U[        R                  " [
        R                  R                  5       XSU-   -  -   5      -  nUS-  nUS:”  a  US:”  a  MP  [        XE-
  5      nX:”  a  [        U5      U-
  $ U$ )z'Numpy's algorithm for hypergeometric().rï   r   rD   )rÌ  ÚfloatrÝ  r#  Úfloorr   rÉ   )ÚngoodÚnbadÚnsampleÚd1Úd2ÚYÚKÚZs           r   r¨   Ú"hypergeometric_impl.<locals>._impl¥  s°   € ä�T“œS ›ZÑ'¬#¨g«,Ñ6ˆBÜ”s˜4Ó'Ó(ˆBàˆAÜ�G“ˆAØ�c“'˜a !›eØ”T—Z’Z¤§	¡	× 0Ñ 0Ó 2°Q¸q¹&±\Ñ AÓBÑB�Ø�Q‘�ð �c“'˜a !�eô �B‘F“ˆAØ‹|Ü˜7“| aÑ'Ð'à�r   rû   )r5  r6  r7  r¨   s       r   Úhypergeometric_implr>     sm   € ä�5œ5Ÿ;™;¬¯©Ð6×7Ñ7¼JØ”5—;‘;¤§¡Ð.÷=0ñ =0ä�g¤§¡¬U¯]©]Ð;×<Ñ<ò	ð  ˆð# =ð=0Ð7r   c                 ó*  • [        U5      (       a  S $ [        U5      (       a  S $ [        U[        R                  5      (       dH  [        U[        R
                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g )Nc                 óB   • [         R                  R                  XU5      $ r   )r   rÉ   Úhypergeometric©r5  r6  r7  rË   s       r   r«   Ú%hypergeometric_impl.<locals>.<lambda>»  s   € Ü�I‰I×$Ñ$ U°'Ô:r   c                 ój   • [         R                  " [         R                  R                  XU5      5      $ r   )r   rÎ   rÉ   rA  rB  s       r   r«   rC  ¿  s   € Ü�HŠH”R—Y‘Y×-Ñ-¨e¸7ÓCÔDr   c                 óà   • [         R                  " U[         R                  S9nUR                  n[	        UR
                  5       H%  n[         R                  R                  XU5      XV'   M'     U$ rÎ  )r   rÐ   rð  rÑ   rÒ   rË   rÉ   rA  )r5  r6  r7  rË   rÔ   rÕ   rd   s          r   r¨   r=  Ä  sN   € Ü—(’(˜4¤r§w¡wÑ/ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	× 8Ñ 8¸ÀgÓ N�“ñ 'àˆJr   r×   )r5  r6  r7  rË   r¨   s        r   r>  r>  ¸  sƒ   € ä�4×Ññ;ð 	;ä�d×ÑñEð 	Eä�4œŸ™×'Ñ'¬J°t¼U¿^¹^×,LÑ,LÜ0:¸4¿:¹:Ü;@¿=¹=÷1Jñ 1Jò	ð ˆð1Jð -Mr   c                  ó   • S $ )Nc                  óB   • [         R                  R                  SS5      $ rî   ©r   rÉ   Úlaplacer    r   r   r«   Úlaplace_impl0.<locals>.<lambda>Ï  rØ  r   r    r    r   r   Úlaplace_impl0rK  Í  rÚ  r   c                 óh   • [        U [        R                  [        R                  45      (       a  S $ g )Nc                 óB   • [         R                  R                  U S5      $ r÷   rH  rø   s    r   r«   Úlaplace_impl1.<locals>.<lambda>Õ  s   € œ2Ÿ9™9×,Ñ,¨S°#Ô6r   rû   rø   s    r   Úlaplace_impl1rO  Ò  s'   € ä�#œŸ™¤U§]¡]Ð3×4Ñ4Ù6Ð6ð 5r   c                 óÎ   • [        U [        R                  [        R                  45      (       a6  [        U[        R                  [        R                  45      (       a  [        $ g g r   )r“   r   rê   r”   Úlaplace_impl©rù   rÿ   s     r   Úlaplace_impl2rS  Ø  sH   € ä�#œŸ™¤U§]¡]Ð3×4Ñ4¼Ø”E—K‘K¤§¡Ð/÷:1ñ :1äÐð:1Ð4r   c                 ó*  • [        U5      (       a  S $ [        U5      (       a  S $ [        U[        R                  5      (       dH  [        U[        R
                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g )Nc                 ó@   • [         R                  R                  X5      $ r   rH  r  s      r   r«   Úlaplace_impl3.<locals>.<lambda>â  s   € ¬¯	©	×(9Ñ(9¸#Ô(Er   c                 óh   • [         R                  " [         R                  R                  X5      5      $ r   )r   rÎ   rÉ   rI  r  s      r   r«   rV  å  s   € ¬¯ª´·±×1BÑ1BÀ3Ó1NÔ(Or   c                 óÄ   • [         R                  " U5      nUR                  n[        UR                  5       H$  n[         R
                  R                  X5      XE'   M&     U$ r   )r   rÐ   rÑ   rÒ   rË   rÉ   rI  r  s         r   r¨   Úlaplace_impl3.<locals>._implé  sE   € Ü—(’(˜4“.ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	× 1Ñ 1°#Ó =�“ñ 'àˆJr   r×   r  s       r   Úlaplace_impl3rZ  ß  sy   € ä�4×ÑÙEÐEÜ�d×ÑáOÐOÜ�$œŸ™×&Ñ&¬:°d¼E¿N¹N×+KÑ+KÜ+5°d·j±jÜ6;·m±m÷,Eñ ,Eò	ð ˆð,Eð ,Lr   c                 óÆ   • [         R                  R                  5       nUS:  a  X[        R                  " X"-   5      -  -   $ X[        R                  " SU-
  U-
  5      -  -
  $ )Nrû  r!  r´  r&  s      r   rQ  rQ  ò  sR   € Ü
�	‰	×ÑÓ€AØˆ3ƒwØœTŸXšX a¡e›_Ñ,Ñ,Ð,àœTŸXšX c¨A¡g°¡kÓ2Ñ2Ñ2Ð2r   c                  ó   • S $ )Nc                  óB   • [         R                  R                  SS5      $ rî   ©r   rÉ   Úlogisticr    r   r   r«   Ú logistic_impl0.<locals>.<lambda>ü  s   € ”2—9‘9×%Ñ% c¨3Ô/r   r    r    r   r   Úlogistic_impl0ra  ú  s   € á/Ð/r   c                 óh   • [        U [        R                  [        R                  45      (       a  S $ g )Nc                 óB   • [         R                  R                  U S5      $ r÷   r^  rø   s    r   r«   Ú logistic_impl1.<locals>.<lambda>  s   € œ2Ÿ9™9×-Ñ-¨c°3Ô7r   rû   rø   s    r   Úlogistic_impl1re  ÿ  s'   € ä�#œŸ™¤U§]¡]Ð3×4Ñ4Ù7Ð7ð 5r   c                 óÎ   • [        U [        R                  [        R                  45      (       a6  [        U[        R                  [        R                  45      (       a  [        $ g g r   )r“   r   rê   r”   Úlogistic_implrR  s     r   Úlogistic_impl2rh    sH   € ä�#œŸ™¤U§]¡]Ð3×4Ñ4¼Ø”E—K‘K¤§¡Ð/÷:1ñ :1äÐð:1Ð4r   c                 ó*  • [        U5      (       a  S $ [        U5      (       a  S $ [        U[        R                  5      (       dH  [        U[        R
                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g )Nc                 ó@   • [         R                  R                  X5      $ r   r^  r  s      r   r«   Ú logistic_impl3.<locals>.<lambda>  s   € ¬¯	©	×(:Ñ(:¸3Ô(Fr   c                 óh   • [         R                  " [         R                  R                  X5      5      $ r   )r   rÎ   rÉ   r_  r  s      r   r«   rk    s   € ¬¯ª´·±×1CÑ1CÀCÓ1OÔ(Pr   c                 óÄ   • [         R                  " U5      nUR                  n[        UR                  5       H$  n[         R
                  R                  X5      XE'   M&     U$ r   )r   rÐ   rÑ   rÒ   rË   rÉ   r_  r  s         r   r¨   Úlogistic_impl3.<locals>._impl  sE   € Ü—(’(˜4“.ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	× 2Ñ 2°3Ó >�“ñ 'àˆJr   r×   r  s       r   Úlogistic_impl3ro    sy   € ä�4×ÑÙFÐFÜ�d×ÑáPÐPÜ�4œŸ™×'Ñ'¬J°t¼U¿^¹^×,LÑ,LÜ0:¸4¿:¹:Ü;@¿=¹=÷1Jñ 1Jò	ð ˆð1Jð -Mr   c                 ó€   • [         R                  R                  5       nX[        R                  " USU-
  -  5      -  -   $ r÷   r´  r&  s      r   rg  rg    s3   € Ü
�	‰	×ÑÓ€AØœŸš ! s¨Q¡w¡-Ó0Ñ0Ñ0Ð0r   c                 óÄ  • U S::  d  U S:”  a  [        S5      e[        R                  " SU -
  5      n [        R                  R	                  5       nX :¼  a  g[        R                  R	                  5       nS[        R
                  " X-  5      -
  nX$U-  ::  aD  [        R                  " S[        R                  " U5      [        R                  " U5      -  -   5      $ X$:¼  a  gg)z"Numpy's algorithm for logseries().rï   rð   z logseries(): p outside of (0, 1]rD   rG   )r{  r#  r%  r   rÉ   r'  r   )r0  rl  ÚVrä  rÌ  s        r   Ú_logseries_implrs  $  s­   € àˆCƒx�1�s“7ÜÐ;Ó<Ð<Ü�Š��q‘Ó€Aà
Ü�I‰I×ÑÓˆØ‹6ØÜ�I‰I×ÑÓˆØ”$—(’(˜1™5“/Ñ!ˆØ�A‘‹:ä—8’8˜C¤$§(¢(¨1£+´·²¸³Ñ";Ñ;Ó<Ð<Ø‹VØàr   c                 ón   • [        U [        R                  [        R                  45      (       a  [        $ g r   )r“   r   rê   r”   rs  )r0  s    r   Úlogseries_implru  9  s'   € ä�!”e—k‘k¤5§=¡=Ð1×2Ñ2ÜÐð 3r   c                 ó*  • [        U5      (       a  S $ [        U5      (       a  S $ [        U[        R                  5      (       dH  [        U[        R
                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g )Nc                 ó@   • [         R                  R                  U 5      $ r   )r   rÉ   Ú	logseriesr  s     r   r«   Ú logseries_impl.<locals>.<lambda>B  r  r   c                 óh   • [         R                  " [         R                  R                  U 5      5      $ r   )r   rÎ   rÉ   rx  r  s     r   r«   ry  D  r  r   c                 óÞ   • [         R                  " U[         R                  S9nUR                  n[	        UR
                  5       H$  n[         R                  R                  U 5      X4'   M&     U$ rÎ  )r   rÐ   r   rÑ   rÒ   rË   rÉ   rx  r!  s        r   r¨   Úlogseries_impl.<locals>._implH  r"  r   r×   r#  s      r   ru  ru  ?  sy   € ä�4×ÑÙ5Ð5Ü�d×ÑÙ?Ð?Ü�$œŸ™×&Ñ&¬:°d¼E¿N¹N×+KÑ+KÜ+5°d·j±jÜ6;·m±m÷,Eñ ,Eò	ð ˆð,Eð ,Lr   c                 óÌ   • [        U [        R                  [        R                  45      (       a5  [        U[        R                  [        R                  45      (       a  S nU$ g g )Nc                 óÜ   • U S::  a  [        S5      eUS:  d  US:”  a  [        S5      e[        R                  R                  U SU-
  U-  5      n[        R                  R	                  U5      $ )Nr   znegative_binomial(): n <= 0rï   rð   z(negative_binomial(): p outside of [0, 1])r{  r   rÉ   r  Úpoisson)ri  r0  r:  s      r   r¨   Ú%negative_binomial_impl.<locals>._implU  s_   € Ø�A‹vÜ Ð!>Ó?Ð?Ø�3‹w˜!˜c›'Ü Ð!KÓLÐLÜ—	‘	—‘  C¨!¡G¨q¡=Ó1ˆAÜ—9‘9×$Ñ$ QÓ'Ð'r   rû   rç  s      r   Únegative_binomial_implr�  Q  sN   € ä�!”e—k‘k¤5§=¡=Ð1×2Ñ2´zØŒu�{‰{œEŸM™MÐ*÷8,ñ 8,ò	(ð ˆð8,Ð2r   c                  ó   • S $ )Nc                  ó@   • [         R                  R                  S5      $ r÷   ©r   rÉ   r  r    r   r   r«   Úpoisson_impl0.<locals>.<lambda>b  s   € ”2—9‘9×$Ñ$ SÔ)r   r    r    r   r   Úpoisson_impl0r†  `  s   € á)Ð)r   c                 óˆ   ^• [        U [        R                  [        R                  45      (       a  [        S 5       mU4S j$ g )Nc                 ó^   ^• [        U5      mU4S jn[        [        R                  U5      U4$ )Nc                 óº  >^^• [        X5      n[        R                  " U[        SS9nUR	                  S5      nUR	                  S5      nUu  nT" X5      nUR                  SU[        R                  " [        S5      5      n	UR                  U	5         [        R                  " [        [        [        45      n
[        R                  " UR                  R                  U
S5      nUR                  X´U45      nUR!                  XÅ5        UR#                  U5        S S S 5        UR#                  U5        UR%                  U5        [&        R(                  R(                  m[*        R,                  mUU4S jnU R/                  XX#5      nUR!                  XÅ5        UR#                  U5        UR%                  U5        UR1                  U5      $ ! , (       d  f       N·= f)	Nr‡   r1  Úbbcontru  rU   rÜ  Únumba_poisson_ptrsc                 ó‚   >• U S:  a  [        S5      eU S:X  a  gT" U * 5      nSnSn T" 5       nX4-  nX1::  a  U$ US-  nM  )a  Numpy's algorithm for poisson() on small *lam*.

This method is invoked only if the parameter lambda of the
distribution is small ( < 10 ). The algorithm used is
described in "Knuth, D. 1969. 'Seminumerical Algorithms.
The Art of Computer Programming' vol 2.
rï   zpoisson(): lambda < 0r   rð   rD   ©r{  )ÚlamÚenlamrã  r  rä  Ú_expr*  s        €€r   Úpoisson_implÚCpoisson_impl1.<locals>._impl.<locals>.codegen.<locals>.poisson_implˆ  s`   ø€ ð ˜S“yÜ(Ð)@ÓAÐAØ˜c“zØ Ù  # ›J�EØ�AØ�DØÙ#›I˜Ø™	˜Ø›=Ø#$˜HØ˜Q™˜ñ r   )r7   r   r4  r…   ro  Úfcmp_orderedr   r   rm   ry  r#   r$   r%   rP   r&   r)   r^   rp  rq  r   rÉ   r#  r'  r6  rZ   )r*   r+   r    rQ   r?   ÚretptrrŠ  ru  rŽ  Úbig_lamr.   r/   r‡   r‘  r�  r*  Úlam_preprocessors                 @@€r   r£   Ú-poisson_impl1.<locals>._impl.<locals>.codegenl  s{  ú€ Ü,¨WÓ>�	ä ×,Ò,¨W´gÀEÑJ�Ø ×3Ñ3°HÓ=�Ø×2Ñ2°7Ó;�à‘�Ù& wÓ4�Ø!×.Ñ.¨t°SÜ/1¯{ª{¼6À4Ó/HóJ�à—_‘_ WÕ-ô Ÿ?š?¬7´_ÄfÐ4MÓN�DÜ ×7Ò7¸×8HÑ8H×8OÑ8OØ8<Ø8LóN�Bð "Ÿ,™, r°sÐ+;Ó<�CØ—M‘M #Ô.Ø—N‘N 5Ô)÷ .ð —‘˜vÔ&Ø×'Ñ'¨Ô/äŸ)™)×*Ñ*�Ü—x‘x�öð, ×.Ñ.¨wÀcÓP�Ø—‘˜cÔ*Ø—‘˜uÔ%Ø×'Ñ'¨Ô.Ø—|‘| FÓ+Ð+÷W .Õ-ús   ÂBGÇ
G)rß   r   r   r   )r§   rŽ  r£   r–  s      @r   r¨   Úpoisson_impl1.<locals>._implh  s,   ø€ ä3°CÓ8Ðõ6,ôn œUŸ[™[¨#Ó.°Ð7Ð7r   c                 ó   >• T" U 5      $ r   r    ©rŽ  r¨   s    €r   r«   Úpoisson_impl1.<locals>.<lambda>¤  s	   ø€ ™5 œ:r   ré   rš  s    @r   Úpoisson_impl1rœ  e  s>   ø€ ä�#œŸ™¤U§]¡]Ð3×4Ñ4Ü	ñ:	8ó 
ð:	8ôv &Ð%ð{ 5r   c                 óF  • [        U [        R                  [        R                  45      (       a  [	        U5      (       a  S $ [        U [        R                  [        R                  45      (       a  [        U5      (       a  S $ [        U [        R                  [        R                  45      (       an  [        U[        R                  5      (       dH  [        U[        R                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g g )Nc                 ó@   • [         R                  R                  U 5      $ r   r„  ©rŽ  rË   s     r   r«   Úpoisson_impl2.<locals>.<lambda>ª  s   € ¤§¡×!2Ñ!2°3Ô!7r   c                 óh   • [         R                  " [         R                  R                  U 5      5      $ r   )r   rÎ   rÉ   r  rŸ  s     r   r«   r   ­  s   € ¤§¢¬"¯)©)×*;Ñ*;¸CÓ*@Ô!Ar   c                 óÞ   • [         R                  " U[         R                  S9nUR                  n[	        UR
                  5       H$  n[         R                  R                  U 5      X4'   M&     U$ rÎ  )r   rÐ   rð  rÑ   rÒ   rË   rÉ   r  )rŽ  rË   rÔ   rÕ   rd   s        r   r¨   Úpoisson_impl2.<locals>._impl³  sL   € Ü—(’(˜4¤r§w¡wÑ/ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	× 1Ñ 1°#Ó 6�“ñ 'àˆJr   r  )rŽ  rË   r¨   s      r   Úpoisson_impl2r¤  §  sÇ   € ä�#œŸ™¤U§]¡]Ð3×4Ñ4¼ÀT×9JÑ9JÙ7Ð7Ü�#œŸ™¤U§]¡]Ð3×4Ñ4¼È×9MÑ9MáAÐAÜ�#œŸ™¤U§]¡]Ð3×4Ñ4Ü�tœUŸ]™]×+Ñ+Ü�4œŸ™×(Ñ(¬Z¸¿
¹
Ü8=¿¹÷.Gñ .Gò	ð ˆð.GÐ(ð 5r   c                 ól   • [        U [        R                  [        R                  45      (       a  S nU$ g )Nc                 óÀ   • U S::  a  [        S5      e[        R                  " S[        R                  " [        R
                  R                  5       * 5      -
  SU -  5      $ )Nrï   zpower(): a <= 0rD   rð   )r{  r#  Úpowr'  r   rÉ   rq  ©rq   s    r   r¨   Úpower_impl.<locals>._impl¿  sM   € Ø�C‹xÜ Ð!2Ó3Ð3Ü—8’8˜A¤§¢¬"¯)©)×*HÑ*HÓ*JÐ)JÓ KÑKØ˜q™Dó"ð "r   rû   r£  s     r   Ú
power_implrª  ¼  s-   € ä�!”e—k‘k¤5§=¡=Ð1×2Ñ2ò	"ð ˆð 3r   c                 ó*  • [        U5      (       a  S $ [        U5      (       a  S $ [        U[        R                  5      (       dH  [        U[        R
                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g )Nc                 ó@   • [         R                  R                  U 5      $ r   )r   rÉ   Úpowerr¨  s     r   r«   Úpower_impl.<locals>.<lambda>Ë  s   € œrŸy™yŸ™¨qÔ1r   c                 óh   • [         R                  " [         R                  R                  U 5      5      $ r   )r   rÎ   rÉ   r­  r¨  s     r   r«   r®  Î  s   € œrŸxšx¬¯	©	¯©¸Ó(:Ô;r   c                 óÄ   • [         R                  " U5      nUR                  n[        UR                  5       H$  n[         R
                  R                  U 5      X4'   M&     U$ r   )r   rÐ   rÑ   rÒ   rË   rÉ   r­  r¬  s        r   r¨   r©  Ò  sC   € Ü—(’(˜4“.ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	§¡°Ó 2�“ñ 'àˆJr   r×   r­  s      r   rª  rª  È  sy   € ä�4×ÑÙ1Ð1Ü�d×Ñá;Ð;Ü�$œŸ™×&Ñ&¬:°d¼E¿N¹N×+KÑ+KÜ+5°d·j±jÜ6;·m±m÷,Eñ ,Eò	ð ˆð,Eð ,Lr   c                  ó   • S $ )Nc                  ó@   • [         R                  R                  S5      $ r÷   ©r   rÉ   Úrayleighr    r   r   r«   Ú rayleigh_impl0.<locals>.<lambda>Ý  s   € ”2—9‘9×%Ñ% cÔ*r   r    r    r   r   Úrayleigh_impl0r¶  Û  s   € á*Ð*r   c                 ól   • [        U [        R                  [        R                  45      (       a  S nU$ g )Nc           	      óÂ   • U S::  a  [        S5      eU [        R                  " S[        R                  " S[        R
                  R                  5       -
  5      -  5      -  $ )Nrï   zrayleigh(): scale <= 0r"  rð   )r{  r#  r$  r%  r   rÉ   ra  s    r   r‘   Úrayleigh_impl1.<locals>.implã  sI   € Ø˜‹|Ü Ð!9Ó:Ð:Øœ4Ÿ9š9 T¬D¯HªH°S¼2¿9¹9×;KÑ;KÓ;MÑ5MÓ,NÑ%NÓOÑOÐOr   rû   )rÿ   r‘   s     r   Úrayleigh_impl1rº  à  s.   € ä�%œ%Ÿ+™+¤u§}¡}Ð5×6Ñ6ò	Pð ˆð 7r   c                 ó*  • [        U5      (       a  S $ [        U5      (       a  S $ [        U[        R                  5      (       dH  [        U[        R
                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g )Nc                 ó@   • [         R                  R                  U 5      $ r   r³  rg  s     r   r«   Ú rayleigh_impl2.<locals>.<lambda>ï  s   € ¤2§9¡9×#5Ñ#5°eÔ#<r   c                 óh   • [         R                  " [         R                  R                  U 5      5      $ r   )r   rÎ   rÉ   r´  rg  s     r   r«   r½  ò  s   € ¤2§8¢8¬B¯I©I×,>Ñ,>¸uÓ,EÔ#Fr   c                 óÄ   • [         R                  " U5      nUR                  n[        UR                  5       H$  n[         R
                  R                  U 5      X4'   M&     U$ r   )r   rÐ   rÑ   rÒ   rË   rÉ   r´  rk  s        r   r¨   Úrayleigh_impl2.<locals>._implö  sE   € Ü—(’(˜4“.ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	× 2Ñ 2°5Ó 9�“ñ 'àˆJr   r×   rl  s      r   Úrayleigh_impl2rÁ  ì  sy   € ä�4×ÑÙ<Ð<Ü�d×ÑáFÐFÜ�$œŸ™×&Ñ&¬:°d¼E¿N¹N×+KÑ+KÜ+5°d·j±jÜ6;·m±m÷,Eñ ,Eò	ð ˆð,Eð ,Lr   c                  ó   • S n U $ )Nc                  ó|   • [         R                  R                  5       [         R                  R                  5       -  $ r   r  r    r   r   r¨   Úcauchy_impl.<locals>._impl  s'   € Ü�y‰y×(Ñ(Ó*¬R¯Y©Y×-FÑ-FÓ-HÑHÐHr   r    r¹   s    r   Úcauchy_implrÅ  ÿ  s   € òIð €Lr   c                 ó*  • [        U 5      (       a  S $ [        U 5      (       a  S $ [        U [        R                  5      (       dH  [        U [        R
                  5      (       a/  [        U R                  [        R                  5      (       a  S nU$ g g )Nc                 ó>   • [         R                  R                  5       $ r   )r   rÉ   Ústandard_cauchyrÊ   s    r   r«   Ú&standard_cauchy_impl.<locals>.<lambda>
  r
  r   c                 óf   • [         R                  " [         R                  R                  5       5      $ r   )r   rÎ   rÉ   rÈ  rÊ   s    r   r«   rÉ    r  r   c                 óÂ   • [         R                  " U 5      nUR                  n[        UR                  5       H#  n[         R
                  R                  5       X#'   M%     U$ r   )r   rÐ   rÑ   rÒ   rË   rÉ   rÈ  rÓ   s       r   r¨   Ú#standard_cauchy_impl.<locals>._impl  r  r   r×   rÚ   s     r   Ústandard_cauchy_implrÍ    sy   € ä�4×ÑÙ7Ð7Ü�d×ÑáAÐAÜ�$œŸ™×&Ñ&¬:°d¼E¿N¹N×+KÑ+KÜ/9¸$¿*¹*Ü:?¿-¹-÷0Iñ 0Iò	ð ˆð0Ið ,Lr   c                 ól   • [        U [        R                  [        R                  45      (       a  S nU$ g )Nc                 óì   • [         R                  R                  5       n[         R                  R                  U S-  5      n[        R
                  " U S-  5      U-  [        R
                  " U5      -  nU$ ró  )r   rÉ   r  r>  r#  r$  )rô  ÚNÚGrã  s       r   r¨   Ústandard_t_impl.<locals>._impl  sU   € Ü—	‘	×)Ñ)Ó+ˆAÜ—	‘	×(Ñ(¨¨c©Ó2ˆAÜ—	’	˜"˜s™(Ó# aÑ'¬$¯)ª)°A«,Ñ6ˆAØˆHr   rû   rö  s     r   Ústandard_t_implrÓ    s-   € ä�"”u—{‘{¤E§M¡MÐ2×3Ñ3ò	ð ˆð 4r   c                 ó*  • [        U5      (       a  S $ [        U5      (       a  S $ [        U[        R                  5      (       dH  [        U[        R
                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g )Nc                 ó@   • [         R                  R                  U 5      $ r   )r   rÉ   Ú
standard_trü  s     r   r«   Ú"standard_t_impl2.<locals>.<lambda>)  s   € ¤§	¡	× 4Ñ 4°RÔ 8r   c                 óh   • [         R                  " [         R                  R                  U 5      5      $ r   )r   rÎ   rÉ   rÖ  rü  s     r   r«   r×  +  s   € ¤§¢¬¯©×)=Ñ)=¸bÓ)AÔ Br   c                 óÄ   • [         R                  " U5      nUR                  n[        UR                  5       H$  n[         R
                  R                  U 5      X4'   M&     U$ r   )r   rÐ   rÑ   rÒ   rË   rÉ   rÖ  r   s        r   r¨   Ústandard_t_impl2.<locals>._impl/  sE   € Ü—(’(˜4“.ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	× 4Ñ 4°RÓ 8�“ñ 'àˆJr   r×   r  s      r   Ústandard_t_impl2rÛ  &  sy   € ä�4×ÑÙ8Ð8Ü�d×ÑÙBÐBÜ�$œŸ™×&Ñ&¬:°d¼E¿N¹N×+KÑ+KÜ+5°d·j±jÜ6;·m±m÷,Eñ ,Eò	ð ˆð,Eð ,Lr   c                 óŒ   • [        U [        R                  5      (       a%  [        U[        R                  5      (       a  S nU$ g g )Nc                 óT  • U S::  a  [        S5      eUS::  a  [        S5      eU SU-  -  n[        R                  R                  5       nX-  U-  nXU[        R
                  " SU-  U-  X3-  -   5      -
  -  -   n[        R                  R                  5       nXPX-   -  ::  a  U$ X -  U-  $ )Nrï   zwald(): mean <= 0zwald(): scale <= 0r!  é   )r{  r   rÉ   r  r#  r$  )r€  rÿ   Úmu_2lr:  rã  rä  s         r   r¨   Úwald_impl.<locals>._impl;  s­   € Ø�s‹{Ü Ð!4Ó5Ð5Ø˜‹|Ü Ð!5Ó6Ð6Ø˜C %™KÑ(ˆEÜ—	‘	×)Ñ)Ó+ˆAØ‘˜1‘ˆAØ ¤D§I¢I¨a°%©i¸!©m¸a¹eÑ.CÓ$DÑ DÑEÑEˆAÜ—	‘	× Ñ Ó"ˆAØ˜D™HÑ%Ó%Ø�à‘{ Q‘Ð&r   r\  )r€  rÿ   r¨   s      r   Ú	wald_implrá  8  s8   € ä�$œŸ™×$Ñ$¬°E¼5¿;¹;×)GÑ)Gò	'ð ˆð! *HÐ$r   c                 ó*  • [        U5      (       a  S $ [        U5      (       a  S $ [        U[        R                  5      (       dH  [        U[        R
                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g )Nc                 ó@   • [         R                  R                  X5      $ r   )r   rÉ   Úwald©r€  rÿ   rË   s      r   r«   Úwald_impl2.<locals>.<lambda>P  s   € ¬¯©¯©¸Ô)Dr   c                 óh   • [         R                  " [         R                  R                  X5      5      $ r   )r   rÎ   rÉ   rä  rå  s      r   r«   ræ  S  s   € ¬¯ª´"·)±)·.±.ÀÓ2MÔ)Nr   c                 óÄ   • [         R                  " U5      nUR                  n[        UR                  5       H$  n[         R
                  R                  X5      XE'   M&     U$ r   )r   rÐ   rÑ   rÒ   rË   rÉ   rä  )r€  rÿ   rË   rÔ   rÕ   rd   s         r   r¨   Úwald_impl2.<locals>._implW  sC   € Ü—(’(˜4“.ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	§¡¨tÓ ;�“ñ 'àˆJr   r×   )r€  rÿ   rË   r¨   s       r   Ú
wald_impl2rê  M  sy   € ä�4×ÑÙDÐDÜ�d×ÑáNÐNÜ�$œŸ™×&Ñ&¬:°d¼E¿N¹N×+KÑ+KÜ+5°d·j±jÜ6;·m±m÷,Eñ ,Eò	ð ˆð,Eð ,Lr   c                 óL   • [        U [        R                  5      (       a  S nU$ g )Nc                 ó|  • U S::  a  [        S5      eU S-
  nSU-  n S[        R                  R                  5       -
  n[        R                  R                  5       n[        [        R
                  " USU-  -  5      5      nU[        :”  d  US:  a  Mw  SSU-  -   U-  nUS:¼  a  XE-  US-
  -  US-
  -  Xb-  ::  a  U$ M¡  )Nrð   zzipf(): a <= 1r!  rD   g      ð¿)r{  r   rÉ   rÌ  r#  r4  r   )rq   Úam1rr   rä  rr  rã  ÚTs          r   r¨   Úzipf_impl.<locals>._implc  s¿   € Ø�C‹xÜ Ð!1Ó2Ð2Ø�c‘'ˆCØ�s‘
ˆAØØœ"Ÿ)™)×*Ñ*Ó,Ñ,�Ü—I‘I×$Ñ$Ó&�ÜœŸ
š
 1¨°©Ñ#4Ó5Ó6�àœ“L A¨£GÙà˜3 ™7‘] sÑ*�Ø˜“6˜a™e q¨3¡wÑ/°1°s±7Ñ;ÀÁÓFØ�Hñ r   r\  r£  s     r   Ú	zipf_implrð  `  s$   € ä�!”U—[‘[×!Ñ!ò	ð" ˆð% "r   c                 ó*  • [        U5      (       a  S $ [        U5      (       a  S $ [        U[        R                  5      (       dH  [        U[        R
                  5      (       a/  [        UR                  [        R                  5      (       a  S nU$ g g )Nc                 ó@   • [         R                  R                  U 5      $ r   )r   rÉ   Úzipfr¨  s     r   r«   Úzipf_impl.<locals>.<lambda>z  s   € œrŸy™yŸ~™~¨aÔ0r   c                 óh   • [         R                  " [         R                  R                  U 5      5      $ r   )r   rÎ   rÉ   ró  r¨  s     r   r«   rô  }  s   € œrŸxšx¬¯	©	¯©°qÓ(9Ô:r   c                 óÞ   • [         R                  " U[         R                  S9nUR                  n[	        UR
                  5       H$  n[         R                  R                  U 5      X4'   M&     U$ rÎ  )r   rÐ   rð  rÑ   rÒ   rË   rÉ   ró  r¬  s        r   r¨   rï  �  sJ   € Ü—(’(˜4¤r§w¡wÑ/ˆCØ—x‘xˆHÜ˜SŸX™X–�Ü "§	¡	§¡¨qÓ 1�“ñ 'àˆJr   r×   r­  s      r   rð  rð  w  sy   € ä�4×ÑÙ0Ð0Ü�d×Ñá:Ð:Ü�$œŸ™×&Ñ&¬:°d¼E¿N¹N×+KÑ+KÜ+5°d·j±jÜ6;·m±m÷,Eñ ,Eò	ð ˆð,Eð ,Lr   c                 ó
  ^• [        U [        R                  5      (       d  Sn[        U5      eUS:X  a  [        R
                  R                  mOUS:X  a  [
        R                  mU R                  S:X  a  U4S jnU$ U4S jnU$ )Nz1The argument to shuffle() should be a buffer typer   r   rD   c                 ó‚   >• U R                   S   S-
  nUS:”  a&  T" US-   5      nX   X   sX'   X'   US-  nUS:”  a  M%  g g rC   r  ©r   ÚiÚjÚrands      €r   r‘   Údo_shuffle_impl.<locals>.impl•  sM   ø€ Ø—‘˜‘
˜Q‘ˆAØ�a“%Ù˜˜Q™“K�Ø™T 1¡4�
�‘�a‘dØ�Q‘�ð �a—%r   c                 óÒ   >• U R                   S   S-
  nUS:”  aN  T" US-   5      n[        R                  " X   5      [        R                  " X   5      sX'   X'   US-  nUS:”  a  MM  g g rC   )r  r   Úcopyrù  s      €r   r‘   rý  œ  s]   ø€ Ø—‘˜‘
˜Q‘ˆAØ�a“%Ù˜˜Q™“K�ÜŸWšW Q¡T›]¬B¯GªG°A±D«M�
�‘�a‘dØ�Q‘�ð �a—%r   )	r“   r   ÚBufferr   r   rÉ   r·  rŒ  Úndim)r   Úrngr_  r‘   rü  s       @r   Údo_shuffle_implr  ‰  so   ø€ ä�aœŸ™×&Ñ&ØAˆÜ˜SÓ!Ð!à
ˆdƒ{Ü�y‰y× Ñ ‰Ø	�‹Ü×Ñˆà‡v�v�ƒ{õ	ð €Kõ	ð €Kr   c                 ó   • [        U S5      $ r±   ©r  r   s    r   Úshuffle_implr  ¦  ó   € ä˜1˜dÓ#Ð#r   c                 ó   • [        U S5      $ r˜   r  r   s    r   r  r  «  r  r   c                 óš   • [        U [        R                  5      (       a  S nU$ [        U [        R                  5      (       a  S nU$ S nU$ )Nc                 óp   • [         R                  " U 5      n[         R                  R                  U5        U$ r   )r   ÚarangerÉ   Úshuffle)r   rg   s     r   Úpermutation_implÚ*permutation_impl.<locals>.permutation_impl³  s&   € Ü—	’	˜!“ˆAÜ�I‰I×Ñ˜aÔ ØˆHr   c                 ód   • U R                  5       n[        R                  R                  U5        U$ r   )rÿ  r   rÉ   r  )r   Úarr_copys     r   r  r  ¸  s$   € Ø—v‘v“xˆHÜ�I‰I×Ñ˜hÔ'ØˆOr   )r“   r   r”   ÚArray)r   r  s     r   r  r  °  sN   € ä�!”U—]‘]×#Ñ#ò	ð Ðô 
�A”u—{‘{×	#Ñ	#ò	ð Ðð  ÐØÐr   c                  ó4   • [        U 5      S:X  a  S nU$ S nU$ )Nr   c                  ó>   • [         R                  R                  5       $ r   rÈ   rÊ   s    r   Ú	rand_implÚrand.<locals>.rand_implÈ  s   € Ü—9‘9×#Ñ#Ó%Ð%r   c                  ó@   • [         R                  R                  U 5      $ r   rÈ   rÊ   s    r   r  r  Í  s   € Ü—9‘9×#Ñ# DÓ)Ð)r   ©Úlen)rË   r  s     r   rü  rü  Ä  s'   € ä
ˆ4ƒy�Aƒ~ò	&ð Ðò	*ð Ðr   c                  ó4   • [        U 5      S:X  a  S nU$ S nU$ )Nr   c                  ó>   • [         R                  R                  5       $ r   r  rÊ   s    r   Ú
randn_implÚrandn.<locals>.randn_impl×  s   € Ü—9‘9×,Ñ,Ó.Ð.r   c                  ó@   • [         R                  R                  U 5      $ r   r  rÊ   s    r   r  r  Ü  s   € Ü—9‘9×,Ñ,¨TÓ2Ð2r   r  )rË   r  s     r   Úrandnr  Ó  s'   € ä
ˆ4ƒy�Aƒ~ò	/ð Ðò	3ð Ðr   c                 óì  ^^^• [        U [        R                  5      (       aC  U R                  S:X  d   eU R                  m[
        S 5       m[
        S 5       n[
        S 5       mOc[        U [        R                  5      (       a5  [        R                  m[
        S 5       m[
        S 5       n[
        S 5       mO[        SU < 35      eUS [        R                  4;   a  SUU4S	 jjnU$ SUUU4S
 jjnU$ )NrD   c                 ó   • [        U 5      $ r   r  r¨  s    r   Úget_source_sizeÚchoice.<locals>.get_source_sizeí  s   € ä�q“6ˆMr   c                 ó"   • U R                  5       $ r   )rÿ  r¨  s    r   Úcopy_sourceÚchoice.<locals>.copy_sourceñ  s   € à—6‘6“8ˆOr   c                 ó
   • X   $ r   r    ©rq   Úa_is     r   ÚgetitemÚchoice.<locals>.getitemõ  s	   € à‘6ˆMr   c                 ó   • U $ r   r    r¨  s    r   r!  r"  ý  s   € àˆHr   c                 ó.   • [         R                  " U 5      $ r   )r   r  r¨  s    r   r$  r%    s   € ä—9’9˜Q“<Ðr   c                 ó   • U$ r   r    r'  s     r   r)  r*    s   € àˆJr   z>np.random.choice() first argument should be int or array, got c                 ód   >• T" U 5      n[         R                  R                  SU5      nT" X5      $ )zO
choice() implementation returning a single sample
(note *replace* is ignored)
r   r¶  )rq   rË   Úreplaceri  rú  r!  r)  s        €€r   Úchoice_implÚchoice.<locals>.choice_impl  s/   ø€ ñ
   Ó"ˆAÜ—	‘	×!Ñ! ! QÓ'ˆAÙ˜1“=Ð r   c                 óö  >• T
" U 5      nU(       aj  [         R                  " UT	5      nUR                  n[        [	        U5      5       H-  n[         R
                  R                  SU5      nT" X5      XV'   M/     U$ [         R                  " UT	5      nUR                  U:”  a  [        S5      e[         R
                  R                  U 5      nUR                  n[        [	        U5      5       H	  nX†   XV'   M     U$ )z7
choice() implementation returning an array of samples
r   z@Cannot take a larger sample than population when 'replace=False')
r   rÐ   rÑ   rÒ   r  rÉ   r·  rË   r{  Úpermutation)rq   rË   r/  ri  rÔ   Úflrú  rû  Ú
permuted_arÙ   r!  r)  s            €€€r   r0  r1    sÖ   ø€ ñ   Ó"ˆAÞÜ—h’h˜t UÓ+�Ø—X‘X�Üœs 2›wž�AÜŸ	™	×)Ñ)¨!¨QÓ/�AÙ# A›M�B“Eñ (ð �
ô —h’h˜t UÓ+�Ø—8‘8˜a“<Ü$ð &Gó Hð Hô  ŸY™Y×2Ñ2°1Ó5�
Ø—X‘X�Üœs 2›wž�AØ&™M�B“Eñ (à�
r   ©NT)r“   r   r  r  rÙ   r   r”   r   rð  r   rŸ   )rq   rË   r/  r$  r0  rÙ   r!  r)  s        @@@r   Úchoicer7  å  s  ú€ ô �!”U—[‘[×!Ñ!à�v‰v˜‹{Ðˆ{Ø—‘ˆä	ñ	ó 
ð	ô 
ñ	ó 
ð	ô 
ñ	ó 
ñ	ô 
�A”u—}‘}×	%Ñ	%ä—‘ˆä	ñ	ó 
ð	ô 
ñ	 ó 
ð	 ô 
ñ	ó 
ñ	õ Ú78ð;ó <ð 	<ð �”e—j‘jÐ!Ó!÷	!ð 	!ðP Ð÷=	ñ 	ð< Ðr   c                 ó  ^^• [         R                  m[        S 5       m[        U [        R
                  5      (       d  [        SU < 35      e[        U[        R                  [        R                  45      (       d  [        SU< 35      eUS [        R                  4;   a  SUU4S jjnU$ [        U[        R
                  5      (       a  SUU4S jjnU$ [        U[        R                  5      (       a  SUU4S jjnU$ [        SU< 35      e)	Nc                 ó>  • UR                   nUR                  n[        U5      n[        SXE5       Hj  nSnU n[        SUS-
  5       H?  n	X   n
[        R
                  R                  XŠU-  5      =o³Xi-   '   X‹-  nUS::  a    OXz-  nMA     US:”  d  Ma  XƒXe-   S-
  '   Ml     g )Nr   rð   rD   )rÑ   rË   r  rÒ   r   rÉ   rë  )ri  ÚpvalsrÔ   r4  ÚszÚplenrú  Úp_sumÚn_experimentsrû  Úp_jÚn_js               r   Úmultinomial_innerÚ&multinomial.<locals>.multinomial_innerA  s­   € ð �X‰XˆØ�X‰XˆÜ�5‹zˆä�q˜"Ö#ˆAð
 ˆEàˆMô
 ˜1˜d Q™hÖ'�Ø‘h�Ü"$§)¡)×"4Ñ"4°]È%ÁKÓ"PÐP�˜™‘iØÑ$�Ø  AÓ%áØ‘’ñ (ð ˜qÕ à#0�1‘8˜a‘<Ó ò- $r   z5np.random.multinomial(): n should be an integer, got zCnp.random.multinomial(): pvals should be an array or sequence, got c                 óZ   >• [         R                  " [        U5      T5      nT" XU5        U$ )z
multinomial(..., size=None)
©r   Úzerosr  ©ri  r:  rË   rÔ   rÙ   rA  s       €€r   Úmultinomial_implÚ%multinomial.<locals>.multinomial_impli  s(   ø€ ô —(’(œ3˜u›: uÓ-ˆCÙ˜a¨Ô,ØˆJr   c                 ó^   >• [         R                  " U[        U5      4T5      nT" XU5        U$ )z
multinomial(..., size=int)
rD  rF  s       €€r   rG  rH  r  s-   ø€ ô —(’(˜D¤# e£*Ð-¨uÓ5ˆCÙ˜a¨Ô,ØˆJr   c                 ób   >• [         R                  " U[        U5      4-   T5      nT" XU5        U$ )z
multinomial(..., size=tuple)
rD  rF  s       €€r   rG  rH  {  s/   ø€ ô —(’(˜4¤3 u£: -Ñ/°Ó7ˆCÙ˜a¨Ô,ØˆJr   zBnp.random.multinomial(): size should be int or tuple or None, got r   )r   rð  r   r“   r   r”   r   ÚSequencer  rŸ   Ú	BaseTuple)ri  r:  rË   rG  rÙ   rA  s       @@r   ÚmultinomialrM  <  s  ù€ ô �G‰G€Eäñ1ó ð1ô< �aœŸ™×'Ñ'ÝÚ23ð6ó 7ð 	7ô �eœeŸn™n¬e¯k©kÐ:×;Ñ;ÝÚ<AðDó Eð 	Eð �”e—j‘jÐ!Ó!÷	ð 	ð< Ðô- 
�Dœ%Ÿ-™-×	(Ñ	(÷	ð 	ð* Ðô 
�Dœ%Ÿ/™/×	*Ñ	*÷	ð 	ð Ðõ Ú8<ð?ó @ð 	@r   c                 ól   • [        U [        R                  [        R                  45      (       a  S nU$ g )Nc                 óZ   • [         R                  " [        U 5      5      n[        X5        U$ r   ©r   rÐ   r  Údirichlet_arr)r  rÔ   s     r   Údirichlet_implÚ!dirichlet.<locals>.dirichlet_impl�  ó!   € Ü—(’(œ3˜u›:Ó&ˆCÜ˜%Ô%ØˆJr   )r“   r   rK  r  )r  rR  s     r   Ú	dirichletrU  �  s.   € ä�%œ%Ÿ.™.¬%¯+©+Ð6×7Ñ7ò	ð Ðð 8r   c                 óÞ  • [        U [        R                  [        R                  45      (       d  [	        SU < 35      eUS [        R
                  4;   d  [        U5      (       a  SS jnU$ [        U[        R                  5      (       a  SS jnU$ [        U[        R                  5      (       a0  [        UR                  [        R                  5      (       a  SS jnU$ [	        SU-  5      e)NzAnp.random.dirichlet(): alpha should be an array or sequence, got c                 óZ   • [         R                  " [        U 5      5      n[        X5        U$ r   rP  ©r  rË   rÔ   s      r   rR  rS  ¡  rT  r   c                 ó^   • [         R                  " U[        U 5      45      n[        X5        U$ )z
dirichlet(..., size=int)
rP  rX  s      r   rR  rS  ¨  s(   € ô —(’(˜D¤# e£*Ð-Ó.ˆCÜ˜%Ô%ØˆJr   c                 ób   • [         R                  " U[        U 5      4-   5      n[        X5        U$ )z
dirichlet(..., size=tuple)
rP  rX  s      r   rR  rS  ²  s*   € ô —(’(˜4¤3 u£: -Ñ/Ó0ˆCÜ˜%Ô%ØˆJr   zJnp.random.dirichlet(): size should be int or tuple of ints or None, got %sr   )
r“   r   rK  r  r   rŸ   r   r”   rØ   rÙ   )r  rË   rR  s      r   rU  rU  —  sÒ   € ä�eœeŸn™n¬e¯k©kÐ:×;Ñ;Ýâ+0ð3ó
ð 	
ð
 �”e—j‘jÐ!Ó!¤^°D×%9Ñ%9ô	ð> Ðô5 
�Dœ%Ÿ-™-×	(Ñ	(ô	ð0 Ðô! 
�Dœ%Ÿ.™.×	)Ñ	)¬j¸¿¹Ü9>¿¹÷/Hñ /Hô	ð Ðô ð,Ø.2ñ3ó
ð 	
r   c                 ó   • [        U 5       H  nUS::  d  M  [        S5      e   [        U 5      nUR                  nUR                  n[        SXC5       Hx  nSn[        U 5       HA  u  p‰[        R                  R                  U	S5      XVU-   '   XuXh-      R                  5       -  nMC     [        U 5       H  u  p‰XVU-   ==   U-  ss'   M     Mz     g )Nr   zdirichlet: alpha must be > 0.0rD   )Úiterr{  r  rË   rÑ   rÒ   Ú	enumerater   rÉ   r  Úitem)
r  rÔ   Úa_valÚa_lenrË   rÑ   rú  Únormrb  r„  s
             r   rQ  rQ  Ã  s½   € ô
 �e–ˆØ�A�:ÜÐ=Ó>Ð>ñ ô �‹J€EØ�8‰8€DØ�8‰8€DÜ�1�dÖ"ˆàˆÜ˜eÖ$‰DˆAÜŸ)™)Ÿ/™/¨!¨QÓ/ˆD�Q‘‰KØ˜™‘K×$Ñ$Ó&Ñ&ŠDñ %ô ˜eÖ$‰DˆAØ�Q‘‹K˜4Ñ�Kó %ò #r   c                 óÌ   • [        U [        R                  [        R                  45      (       a5  [        U[        R                  [        R                  45      (       a  S nU$ g g )Nc                 ó.   • [        X5        [        X5      $ r   ©Ú#validate_noncentral_chisquare_inputÚnoncentral_chisquare_single©rô  Únoncs     r   Únoncentral_chisquare_implÚ7noncentral_chisquare.<locals>.noncentral_chisquare_implá  s   € Ü/°Ô9Ü.¨rÓ8Ð8r   rû   )rô  rh  ri  s      r   Únoncentral_chisquarerk  Ý  sO   € ä�"”u—{‘{¤E§M¡MÐ2×3Ñ3¼
Ø”5—;‘;¤§¡Ð.÷90ñ 90ò	9ð )Ð(ð90Ð3r   c                 ób  • US [         R                  4;   a  SS jnU$ [        U5      (       a  SS jnU$ [        U[         R                  5      (       dH  [        U[         R
                  5      (       a0  [        UR                  [         R                  5      (       a  SS jnU$ [        SU-  5      e)Nc                 ó.   • [        X5        [        X5      $ r   rd  ©rô  rh  rË   s      r   ri  rj  ë  s   € Ü0°Ô:Ü/°Ó9Ð9r   c                 óV   • [        X5        [        R                  " [        X5      5      $ r   )re  r   rÎ   rf  rn  s      r   ri  rj  ñ  s   € Ü0°Ô:Ü—H’HÔ8¸ÓBÓCÐCr   c                 ó²   • [        X5        [        R                  " U5      nUR                  n[	        UR
                  5       H  n[        X5      XE'   M     U$ r   )re  r   rÐ   rÑ   rÒ   rË   rf  )rô  rh  rË   rÔ   rÕ   rd   s         r   ri  rj  ù  sC   € Ü0°Ô:Ü—8’8˜D“>ˆSØŸ™ˆXÜ˜cŸh™hž�Ü!<¸RÓ!F�“ñ (àˆZr   zUnp.random.noncentral_chisquare(): size should be int or tuple of ints or None, got %sr   )r   rŸ   r   r“   r”   rØ   rÙ   r   )rô  rh  rË   ri  s       r   rk  rk  è  s�   € à�”u—z‘zÐ"Ó"ô
:ð *Ð	)Ü�t×Ñô
Dð *Ð	)Ü
�Tœ5Ÿ=™=×
)Ñ
)¬j¸¼u¿~¹~×.NÑ.NÜ2<¸T¿Z¹ZÜ=B¿]¹]÷3Lñ 3Lô
ð *Ð	)äð-Ø/3ñ4óð 
r   c                 ó®  • [         R                  " U5      (       a  [         R                  $ SU :  a^  [         R                  R	                  U S-
  5      n[         R                  R                  5       [         R                  " U5      -   nX#U-  -   $ [         R                  R                  US-  5      n[         R                  R	                  U SU-  -   5      $ )NrD   r!  rG   )r   ÚisnanÚnanrÉ   rû  r  r$  r  )rô  rh  Úchi2ri  rú  s        r   rf  rf  	  s›   € ô
 
‡x‚x�‡~�~Ü�v‰vˆàˆ2ƒvÜ�y‰y×"Ñ" 2 a¡4Ó(ˆÜ�I‰I×%Ñ%Ó'¬"¯'ª'°$«-Ñ7ˆØ˜!‘e‰|Ðô �I‰I×Ñ˜d 3™hÓ'ˆÜ�y‰y×"Ñ" 2¨¨A©¡:Ó.Ð.r   c                 óH   • U S::  a  [        S5      eUS:  a  [        S5      eg )Nr   zdf <= 0znonc < 0r�  rg  s     r   re  re  	  s+   € à	ˆQƒwÜ˜Ó#Ð#ØˆaƒxÜ˜Ó$Ð$ð r   r   r6  )ÏÚ__doc__r#  rÉ   Únumpyr   Úllvmliter   Únumba.core.cgutilsr   r   Únumba.core.extendingr   r   r   Únumba.core.imputilsr	   Únumba.core.typingr   Ú
numba.corer   r   Únumba.core.errorsr   Únumba.np.random._constantsr   ÚregistryÚlowerr­  r   r…   r   rP  rm   rÐ  r   r\   ÚLiteralStructTypeÚ	ArrayTypeÚrnd_state_tÚPointerTyper$   r0   r4   r7   r9   r@   rE   rH   rK   rS   rh   rs   rŽ   r™   r–   r•   r¼   Úrandom_sampleÚsampleÚranfrÅ   rÛ   r•  Únormalvariaterë   r  rò   rô   rü   r  r  r  r-  rà   rß   Úgetrandbitsrg  rˆ  rŒ  r�  r–  r�  r®  r·  r³  rº  rÄ  rÒ  rÖ  rÙ  rå  rë  rÞ  rø  r  r   r  r  rG  r  r>  r  r   r$  r  r:  rD  ÚbetavariaterH  r  rL  rF  rW  Úexpovariater]  rf  rc  rq  rv  rz  r|  r‚  rˆ  r�  Úlognormvariater–  r‡  Úparetovariaterž  r§  r¤  Úweibullvariater±  r¹  r¶  r¾  ÚvonmisesvariaterÃ  rÒ  rÀ  rØ  rë  rè  rû  r÷  r  r)  r	  r  r  r+  r(  r0  rA  r>  rI  rK  rO  rS  rZ  rQ  r_  ra  re  rh  ro  rg  rs  rx  ru  Únegative_binomialr�  r  r†  rœ  r¤  r­  rª  r´  r¶  rº  rÁ  rÈ  rÅ  rÍ  rÖ  rÓ  rÛ  rä  rá  rê  ró  rð  r  r  r  r3  r  rü  r  r7  rM  rU  rQ  rk  rf  re  r    r   r   Ú<module>r’     s9  ðñó
 Û ã å ç :ß FÑ FÝ (Ý 'ß %Ý ,Ý /á�LÓ!€Ø�‰€à
�*Š*�R‹.€Ø
�*Š*�R‹.€ò#à	�Š‹€à€Ø
�+Š+�g˜qÓ
!€ð ×"Ò"àà‡L‚L�˜!Óàà
àð$ó €ð —.’. Ó-€ò ò"1ò1ò7ò:ò:ò:ò:òòò21ò.ñb 
ˆ&�+‰+Óñó ðñ 
ˆ"�)‰)�.‰.Óñ ó ð ò
$ñ 
ˆ&�-‰-Óñó ðñ 
ˆ"�)‰)×
Ñ
ÓÙ	ˆ"�)‰)×
!Ñ
!Ó"Ù	ˆ"�)‰)×
Ñ
ÓÙ	ˆ"�)‰)�.‰.Óñó ó ó #ó ðñ 
ˆ"�)‰)×
Ñ
ÓÙ	ˆ"�)‰)×
!Ñ
!Ó"Ù	ˆ"�)‰)×
Ñ
ÓÙ	ˆ"�)‰)�.‰.Óóó ó ó #ó ðñ$ 
ˆ&�,‰,ÓÙ	ˆ&×
Ñ
Óñ	2ó  ó ð	2ñ 
ˆ"�)‰)×
#Ñ
#Ó$Ù	ˆ"�)‰)×
Ñ
Óñ.ó ó %ð.ñ 
ˆ"�)‰)×
Ñ
Óñ6ó ð6ñ
 
ˆ"�)‰)×
Ñ
Óñ	4ó ð	4ñ 
ˆ"�)‰)×
#Ñ
#Ó$ñó %ðñ$ 
ˆ"�)‰)×
Ñ
Óñó ðò0ò$%òPQñ" 
ˆ&×
Ñ
Óñ"ó ð"ò(CEñL 
ˆ&×
Ñ
Óñ;ó ð;ñ
 
ˆ&×
Ñ
ÓñDó ðDò
*ñ 
ˆ&×
Ñ
ÓñBó ðBñ4 
ˆ&�.‰.Óñ:ó ð:ñ
 
ˆ"�)‰)×
Ñ
Óñ5ó ð5ñ
 
ˆ"�)‰)×
Ñ
Óñ2ó ð2ñ0 
ˆ"�)‰)×
Ñ
Óñó ðñ0 
ˆ"�)‰)×
Ñ
Óñ/ó ð/ñ 
ˆ&�.‰.Óñ	(ó ð	(ñ 
ˆ"�)‰)×
Ñ
Óñ	2ó ð	2ò	ñ 
ˆ"�)‰)×
Ñ
Óñó ðñ2 
ˆ&×
Ñ
Óñó ðñ 
ˆ&×
Ñ
Óñó ðñ$ 
ˆ"�)‰)×
Ñ
Óñó  ðñ$ 
ˆ"�)‰)×
Ñ
Óóó  ðñ, 
ˆ&×
Ñ
Óñ1ó ð1ñ 
ˆ"�)‰)×
"Ñ
"Ó#Ù	ˆ"�)‰)�/‰/Óñ9ó ó $ð9ñ
 
ˆ"�)‰)�/‰/Óñó ðò8ñv 
ˆ"�)‰)�/‰/Óñó ðñ$ 
ˆ"�)‰)×
"Ñ
"Ó#ñó $ðñ$ 
ˆ&×
Ñ
Óñ6ó ð6ñ 
ˆ"�)‰)�.‰.Óñó ðòñ 
ˆ"�)‰)�.‰.Óñó ðñ& 
ˆ&×
Ñ
Óñó ðñ 
ˆ"�)‰)×
Ñ
Ó ñó !ðñ 
ˆ"�)‰)×
Ñ
Ó ñó !ðñ$ 
ˆ"�)‰)×
(Ñ
(Ó)Ù	ˆ"�)‰)×
Ñ
Ó ñó !ó *ðñ 
ˆ"�)‰)×
(Ñ
(Ó)ñó *ðñ& 
ˆ"�)‰)×
Ñ
Óñ1ó ð1ñ 
ˆ"�)‰)×
Ñ
Óñ;ó ð;ñ
 
ˆ"�)‰)×
Ñ
Óñ3ó ð3ñ 
ˆ"�)‰)×
Ñ
Óñó ðñ$ 
ˆ&×
Ñ
Ó ñ/ó !ð/ò9ñ 
ˆ&×
Ñ
Óñó  ðñ 
ˆ"�)‰)×
Ò
Óñó ðñ 
ˆ"�)‰)×
Ò
Óñó ðñ$ 
ˆ&×
Ò
Ó ñ	ó !ð	ñ 
ˆ"�)‰)×
Ò
Óñó ðñ 
ˆ"�)‰)×
Ò
Óñó ðñ$ 
ˆ&×
 Ò
 Ó!ñ4ó "ð4ñ
 
ˆ"�)‰)×
Ò
Óñ7ó ð7ò
)ñX 
ˆ"�)‰)×
Ò
Óñó ðñ$ 
ˆ"�)‰)×
Ò
Óñ4ó ð4ñn 
ˆ"�)‰)×
Ò
Óñó ðñ& 
ˆ"�)‰)×
Ò
Óñó ðñ 
ˆ"�)‰)×
Ò
Óñó ðñ" 
ˆ"�)‰)�+Š+Óñó ðñ 
ˆ"�)‰)�+Š+Óñó ðñ, 
ˆ"�)‰)×
Ò
Óñó ðñ. 
ˆ"�)‰)×
Ò
Óñó ðñ$ 
ˆ"�)‰)×
Ò
Óñó ðñ 
ˆ"�)‰)×
Ò
Óñó ðñ$ 
ˆ"�)‰)×
"Ò
"Ó#ñó $ðñ. 
ˆ"�)‰)×
"Ò
"Ó#ñó $ðñ( 
ˆ"�)‰)×
Ò
Óñ/ó ð/ñ 
ˆ"�)‰)×
Ò
Óñ7ó ð7ñ
 
ˆ"�)‰)×
Ò
Óñó ðñ 
ˆ"�)‰)×
Ò
Óñó ðò$3ñ 
ˆ"�)‰)×
Ò
Óñ0ó ð0ñ 
ˆ"�)‰)×
Ò
Óñ8ó ð8ñ
 
ˆ"�)‰)×
Ò
Óñó ðñ 
ˆ"�)‰)×
Ò
Óñó ðò$1ò
ñ* 
ˆ"�)‰)×
Ò
Óñó ðñ
 
ˆ"�)‰)×
Ò
Óñó ðñ" 
ˆ"�)‰)×
%Ò
%Ó&ñó 'ðñ 
ˆ"�)‰)×
Ò
Óñ*ó ð*ñ 
ˆ"�)‰)×
Ò
Óñ>&ó ð>&ñB 
ˆ"�)‰)×
Ò
Óñó ðñ( 
ˆ"�)‰)�/Š/Óñó ðñ 
ˆ"�)‰)�/Š/Óñó ðñ$ 
ˆ"�)‰)×
Ò
Óñ+ó ð+ñ 
ˆ"�)‰)×
Ò
Óñó ðñ 
ˆ"�)‰)×
Ò
Óñó ðñ$ 
ˆ"�)‰)×
#Ò
#Ó$ñó %ðñ 
ˆ"�)‰)×
#Ò
#Ó$ñó %ðñ$ 
ˆ"�)‰)×
Ò
Óñó  ðñ 
ˆ"�)‰)×
Ò
Óñó  ðñ" 
ˆ"�)‰)�.Š.Óñó ðñ( 
ˆ"�)‰)�.Š.Óñó ðñ$ 
ˆ"�)‰)�.Š.Óñó ðñ, 
ˆ"�)‰)�.Š.Óñó ðò"ñ: 
ˆ&�.Š.Óñ$ó ð$ñ 
ˆ"�)‰)×
Ò
Óñ$ó ð$ñ 
ˆ"�)‰)×
Ò
Ó ñó !ðñ& 
ˆ"�)‰)�.Š.Óñó ðñ 
ˆ"�)‰)�/Š/Óñó ðñ" 
ˆ"�)‰)×
Ò
ÓóPó ðPñl 
ˆ"�)‰)×
Ò
Ó óJó !ðJñ` 
ˆ"�)‰)×
Ò
Óñó ðñ 
ˆ"�)‰)×
Ò
Óó(ó ð(ðV ñ ó ð ñ2 
ˆ"�)‰)×
(Ò
(Ó)ñ)ó *ð)ñ 
ˆ"�)‰)×
(Ò
(Ó)óó *ðð> ñ/ó ð/ð" ñ%ó ñ%r   