§
    2@ÄjœO  ã                   ó  — d Z ddlZddlmZ ddlmZmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZmZmZmZmZmZmZ ddlmZ ddlmZmZmZmZ ddl m!Z!m"Z" ddl#m$Z$ ed	„ ¦   «         Z%ed
„ ¦   «         Z&ed„ ¦   «         Z'ed„ ¦   «         Z(ed„ ¦   «         Z)ed„ ¦   «         Z*ed„ ¦   «         Z+ed„ ¦   «         Z,ed„ ¦   «         Z-ed„ ¦   «         Z.ed„ ¦   «         Z/ed„ ¦   «         Z0ed„ ¦   «         Z1ed„ ¦   «         Z2ed„ ¦   «         Z3ed„ ¦   «         Z4ed„ ¦   «         Z5ed„ ¦   «         Z6ed„ ¦   «         Z7ed„ ¦   «         Z8ed„ ¦   «         Z9ed„ ¦   «         Z:ed„ ¦   «         Z;ed „ ¦   «         Z<ed!„ ¦   «         Z=ed"„ ¦   «         Z>ed#„ ¦   «         Z?ed$„ ¦   «         Z@ed%„ ¦   «         ZAed&„ ¦   «         ZBed'„ ¦   «         ZCed(„ ¦   «         ZDed)„ ¦   «         ZEe$d*k     red+„ ¦   «         ZFned,„ ¦   «         ZFed-„ ¦   «         ZGed.„ ¦   «         ZHed/„ ¦   «         ZIed0„ ¦   «         ZJed1„ ¦   «         ZKed2„ ¦   «         ZLed3„ ¦   «         ZMed4„ ¦   «         ZNed5„ ¦   «         ZOe$d6k     red7„ ¦   «         ZPned8„ ¦   «         ZP eeeP¦  «        ZQed9„ ¦   «         ZRed:„ ¦   «         ZSed;„ ¦   «         ZTdS )<zU
Algorithmic implementations for generating different types
of random distributions.
é    N)Úregister_jitable)Ú	wi_doubleÚ	ki_doubleÚziggurat_nor_rÚ	fi_doubleÚwi_floatÚki_floatÚziggurat_nor_inv_r_fÚziggurat_nor_r_fÚfi_floatÚ	we_doubleÚ	ke_doubleÚziggurat_exp_rÚ	fe_doubleÚwe_floatÚke_floatÚziggurat_exp_r_fÚfe_floatÚ	INT64_MAXÚziggurat_nor_inv_r)Úmake_binomial_btpe)Únext_doubleÚ
next_floatÚnext_uint32Únext_uint64)Úfloat32Úint64)Únumpy_versionc                 ó*   — t          j        | ¦  «        S ©N)ÚnpÚlog1p©Úxs    úNC:\Projects\Historical\venv\Lib\site-packages\numba/np/random/distributions.pyÚnp_log1pr&      ó   € åŒ8�A‰;Œ;Ðó    c                 óD   — t          j        t          | ¦  «        ¦  «        S r    )r!   r"   r   r#   s    r%   Ú	np_log1pfr*   !   s   € åŒ8•G˜A‘J”JÑÔÐr(   c                 óP   — |t          j        dt          | ¦  «        z  ¦  «        z  S ©Nç       @)r!   ÚsqrtÚrandom_standard_exponential)ÚbitgenÚmodes     r%   Úrandom_rayleighr2   &   s%   € à•"”'˜#Õ ;¸FÑ CÔ CÑCÑDÔDÑDÐDr(   c                 ó*   — t          j        | ¦  «        S r    )r!   Úexpm1r#   s    r%   Únp_expm1r5   +   r'   r(   c                 ó\  — 	 t          | ¦  «        }|dz  }|dz  }|dz  }|dz	  dz  }|t          |         z  }|dz  r| }|t          |         k     r|S |dk    ry	 t           t	          j        t          | ¦  «         ¦  «        z  }t	          j        t          | ¦  «         ¦  «         }||z   ||z  k    r|dz	  dz  rt          |z    S t          |z   S Œxt          |dz
           t          |         z
  t          | ¦  «        z  t          |         z   t	          j	        d|z  |z  ¦  «        k     r|S �Œ,)Né   éÿ   é   l   ÿÿÿ r   g      à¿)
r   r   r   r   r!   r"   r   r   r   Úexp©r0   ÚrÚidxÚsignÚrabsr$   ÚxxÚyys           r%   Úrandom_standard_normalrB   0   s`  € ðÝ˜ÑÔˆØ�$‰hˆØ	ˆa‰ˆØ�3‰wˆØ�Q‘Ð,Ñ,ˆØ•9˜S”>Ñ!ˆØ�3‰Jð 	Ø�ˆAØ•)˜C”.Ò Ð ØˆHØ�!Š8ˆ8ð3Ý(Ð(­2¬8µ[ÀÑ5HÔ5HÐ4HÑ+IÔ+IÑI�Ý”h¥¨FÑ 3Ô 3Ð3Ñ4Ô4Ð4�Ø˜‘G˜b 2™gÒ%Ð%Ø ™ cÑ)ð 3Ý!/°"Ñ!4Ð5Ð5å-°Ñ2Ð2ð3õ ˜C !™GÔ$¥y°¤~Ñ5Ý Ñ'Ô'ñ(Ý*3°C¬.ñ9å”F˜4 !™8 a™<Ñ(Ô(ò)ð )ð �ñ1r(   c                 óJ  — 	 t          | ¦  «        }|dz  }|dz	  dz  }|dz	  dz  }t          t          |¦  «        t          |         z  ¦  «        }|dz  r| }|t          |         k     r|S |dk    r½	 t          t           t          t          | ¦  «         ¦  «        z  ¦  «        }t          t          t          | ¦  «         ¦  «         ¦  «        }t          ||z   ¦  «        t          ||z  ¦  «        k    r7|dz	  dz  rt          t          |z   ¦  «         S t          t          |z   ¦  «        S Œ¼t          |dz
           t          |         z
  t          | ¦  «        z  t          |         z   t          t          j
        t          d¦  «         |z  |z  ¦  «        ¦  «        k     r|S �Œ£)Nr7   r8   r9   é	   iÿÿ r   ç      à?)r   r   r   r	   r
   r*   r   r   r   r!   r:   r;   s           r%   Úrandom_standard_normal_frF   M   s­  € ðÝ˜ÑÔˆØ�$‰hˆØ�Q‘˜#‰~ˆØ�Q‘˜+Ñ%ˆÝ•G˜D‘M”M¥H¨S¤MÑ1Ñ2Ô2ˆØ�3‰Jð 	Ø�ˆAØ•8˜C”=Ò Ð ØˆHØ�1ŠHˆHð>ÝÕ2Ð2Ý&­
°6Ñ(:Ô(:Ð':Ñ;Ô;ñ<ñ =ô =�å�i­°FÑ);Ô);Ð(;Ñ<Ô<Ð<Ñ=Ô=�Ý˜B ™GÑ$Ô$¥w¨r°B©wÑ'7Ô'7Ò7Ð7Ø ™ cÑ)ð >Ý 'Õ(8¸2Ñ(=Ñ >Ô >Ð>Ð>å&Õ'7¸"Ñ'<Ñ=Ô=Ð=ð>õ ˜3 ™7Ô#¥h¨s¤mÑ3µzÀ&Ñ7IÔ7IÑIÝ˜#”ñÝ")­"¬&µ'¸#±,´,°ÀÑ1BÀQÑ1FÑ*GÔ*GÑ"HÔ"HòIð Ià�ñ/r(   c                 óˆ  — 	 t          | ¦  «        }|dz  }|dz  }|dz  }|t          |         z  }|t          |         k     r|S |dk    r%t          t	          t          | ¦  «         ¦  «        z
  S t          |dz
           t          |         z
  t          | ¦  «        z  t          |         z   t          j        | ¦  «        k     r|S ŒÂ)Nr7   é   r8   r9   r   )	r   r   r   r   r&   r   r   r!   r:   ©r0   Úrir=   r$   s       r%   r/   r/   i   sÇ   € ðÝ˜Ñ Ô ˆØ
ˆq‰ˆØ�4‰iˆØ
ˆq‰ˆØ•˜3”ÑˆØ•˜3”ÒÐØˆHà�aŠxˆxÝ%­µ+¸fÑ2EÔ2EÐ1EÑ(FÔ(FÑFÐFÝ˜S 1™WÔ%­	°#¬Ñ6½+ÀfÑ:MÔ:MÑMÝ˜C”.ñ!Ý#%¤6¨1¨"¡:¤:ò.ð .à�ðr(   c           
      ó&  — 	 t          | ¦  «        }|dz  }|dz  }|dz  }t          t          |¦  «        t          |         z  ¦  «        }|t          |         k     r|S |dk    r?t          t          t          t          t          | ¦  «         ¦  «        ¦  «        z
  ¦  «        S t          |dz
           t          |         z
  t          | ¦  «        z  t          |         z   t          t          j	        t          | ¦  «        ¦  «        ¦  «        k     r|S �Œ)Nr7   r8   r9   r   )
r   r   r   r   r   r*   r   r   r!   r:   rI   s       r%   Úrandom_standard_exponential_frL   {   s  € ðÝ˜Ñ Ô ˆØ
ˆq‰ˆØ�4‰iˆØ
ˆq‰ˆÝ•G˜B‘K”K¥(¨3¤-Ñ/Ñ0Ô0ˆØ•˜#”ÒÐØˆHà�q’�ÝÕ/Ý&¥yµ*¸VÑ2DÔ2DÐ1DÑ'EÔ'EÑFÔFñ Gñ Hô Hð Hå˜C !™GÔ$¥x°¤}Ñ4½
À6Ñ8JÔ8JÑJÝ˜3”-ñ Ý")­"¬&µ¸!¸±´Ñ*=Ô*=Ñ">Ô">ò?ð ?à�ñr(   c                 ó>   — t          t          | ¦  «         ¦  «         S r    )r&   r   ©r0   s    r%   Úrandom_standard_exponential_invrO   Ž   s   € å•k &Ñ)Ô)Ð)Ñ*Ô*Ð*Ð*r(   c                 óf   — t          j        t          d¦  «        t          | ¦  «        z
  ¦  «         S ©Nç      ð?)r!   Úlogr   r   rN   s    r%   Ú!random_standard_exponential_inv_frT   “   s(   € åŒF•7˜3‘<”<¥*¨VÑ"4Ô"4Ñ4Ñ5Ô5Ð5Ð5r(   c                 ó¼  — |dk    rt          | ¦  «        S |dk    rdS |dk     r‡	 t          | ¦  «        }t          | ¦  «        }|d|z
  k    rt          |d|z  ¦  «        }||k    r|S nBt          j        d|z
  |z  ¦  «         }t          d|z
  ||z  z   d|z  ¦  «        }|||z   k    r|S Œ†|dz
  }dt          j        d|z  ¦  «        z  }	 	 t          | ¦  «        }d||z  z   }|dk    rnŒ||z  |z  }t          | ¦  «        }|dd||z  z  ||z  z  z
  k     r||z  S t          j        |¦  «        d|z  |z  |d|z
  t          j        |¦  «        z   z  z   k     r||z  S Œ“)NrR   ç        r7   çUUUUUUÕ?rD   çmÅþ²{ò ?rE   )r/   r   Úpowr!   rS   r.   rB   )r0   ÚshapeÚUÚVÚXÚYÚbÚcs           r%   Úrandom_standard_gammara   ˜   s¸  € à�ŠˆÝ*¨6Ñ2Ô2Ð2Ø
�3Š,ˆ,ØˆsØ
�#Š+ˆ+ð	Ý˜FÑ#Ô#ˆAÝ+¨FÑ3Ô3ˆAØ�S˜5‘[Ò Ð Ý˜˜2 ™:Ñ&Ô&�Ø˜’F�FØ�Hð õ ”V˜Q ™U e™OÑ,Ô,Ð,�Ý˜˜e™ e¨a¡iÑ/°°e±Ñ<Ô<�Ø˜!˜a™%’L�LØ�Hð	ð �G‰OˆØ•”˜˜Q™‘”Ñˆð	ðÝ*¨6Ñ2Ô2�Ø˜!˜a™%‘K�Ø˜’G�GØð	ð �A‘˜‘	ˆAÝ˜FÑ#Ô#ˆAØ�C˜& A¨¡EÑ*¨a°!©eÑ4Ñ4Ò4Ð4Ø˜A™�å”�q‘	”	˜C !™G a™K¨!¨r°A©v½¼¸q¹	¼	Ñ/AÑ*BÑBÒBÐBØ˜A™�ð	r(   c           
      ó   — t          d¦  «        }t          |¦  «        }||k    rt          | ¦  «        S |t          d¦  «        k    rt          d¦  «        S ||k     râ	 t          | ¦  «        }t          | ¦  «        }|||z
  k    r6t          t          |t          ||z  ¦  «        ¦  «        ¦  «        }||k    r|S nƒt          t	          j        t          ||z
  |z  ¦  «        ¦  «         ¦  «        }t          t          ||z
  t          ||z  ¦  «        z   t          ||z  ¦  «        ¦  «        ¦  «        }|||z   k    r|S Œá||t          d¦  «        z  z
  }t          |t          t	          j        t          d¦  «        |z  ¦  «        ¦  «        z  ¦  «        }	 	 t          t          | ¦  «        ¦  «        }t          |||z  z   ¦  «        }|t          d¦  «        k    rnŒFt          ||z  |z  ¦  «        }t          | ¦  «        }||t          d¦  «        ||z  z  ||z  z  z
  k     rt          ||z  ¦  «        S t	          j        |¦  «        t          d¦  «        |z  |z  |||z
  t	          j        |¦  «        z   z  z   k     rt          ||z  ¦  «        S Œû)NrR   rV   r7   g      @g      "@rX   rE   )r   rL   r   rY   r!   rS   r.   rF   )	r0   rZ   Úf32_oner[   r\   r]   r^   r_   r`   s	            r%   Úrandom_standard_gamma_frd   ¾   sŒ  € å�c‰lŒl€GÝ�E‰NŒN€EØ�ÒÐÝ,¨VÑ4Ô4Ð4Ø
•7˜3‘<”<Ò
Ð
Ý�s‰|Œ|ÐØ
�'Š/ˆ/ð	Ý˜6Ñ"Ô"ˆAÝ-¨fÑ5Ô5ˆAØ�W˜u‘_Ò$Ð$Ý�C ¥7¨7°U©?Ñ#;Ô#;Ñ<Ô<Ñ=Ô=�Ø˜’F�FØ�Hð õ �RœV¥G¨W°q©[¸EÑ,AÑ$BÔ$BÑCÔCÐCÑDÔD�Ý�C ¨%¡µ'¸%À!¹)Ñ2DÔ2DÑ DÝ# G¨e¡OÑ4Ô4ñ6ô 6ñ 7ô 7�à˜!˜a™%’L�LØ�Hð	ð �G�g c™lœlÑ*Ñ*ˆÝ�G�g¥b¤g­g°c©l¬l¸QÑ.>Ñ&?Ô&?Ñ@Ô@Ñ@ÑAÔAˆð	&ðÝÕ4°VÑ<Ô<Ñ=Ô=�Ý˜G a¨!¡e™OÑ,Ô,�Ø� ™œÒ$Ð$Øð	õ ˜˜A™ ™	Ñ"Ô"ˆAÝ˜6Ñ"Ô"ˆAØ�G�g f™oœo°°Q±Ñ7¸1¸q¹5ÑAÑAÒAÐAÝ˜q 1™u‘~”~Ð%å”�q‘	”	�G C™LœL¨1Ñ,¨qÑ0°1Ø˜q‘[¥2¤6¨!¡9¤9Ñ,ñ4.ñ .ò .ð .å˜q 1™u‘~”~Ð%ð	&r(   c                 ó0   — |t          | ¦  «        z  }||z   S r    ©rB   ©r0   ÚlocÚscaleÚscaled_normals       r%   Úrandom_normalrk   è   s    € àÕ2°6Ñ:Ô:Ñ:€MØ�ÑÐr(   c                 ód   — t          |t          | ¦  «        z  ¦  «        }t          ||z   ¦  «        S r    )r   rF   rg   s       r%   Úrandom_normal_frm   î   s0   € å˜EÕ$<¸VÑ$DÔ$DÑDÑEÔE€MÝ�3˜Ñ&Ñ'Ô'Ð'r(   c                 ó&   — |t          | ¦  «        z  S r    )r/   )r0   ri   s     r%   Úrandom_exponentialro   ô   s   € àÕ.¨vÑ6Ô6Ñ6Ð6r(   c                 ó0   — |t          | ¦  «        z  }||z   S r    ©r   )r0   ÚlowerÚrangeÚscaled_uniforms       r%   Úrandom_uniformru   ù   s   € à�[¨Ñ0Ô0Ñ0€NØ�>Ñ!Ð!r(   c                 ó(   — |t          | |¦  «        z  S r    ©ra   ©r0   rZ   ri   s      r%   Úrandom_gammary   ÿ   s   € àÕ(¨°Ñ7Ô7Ñ7Ð7r(   c                 óB   — t          |t          | |¦  «        z  ¦  «        S r    )r   rd   rx   s      r%   Úrandom_gamma_fr{     s    € å�5Õ2°6¸5ÑAÔAÑAÑBÔBÐBr(   c           	      óf  — |dk    �r|dk    rý	 t          | ¦  «        }t          | ¦  «        }t          |d|z  ¦  «        }t          |d|z  ¦  «        }||z   }|dk    r¬|dk    r¦||z   dk    r||z  S t          j        |¦  «        |z  }t          j        |¦  «        |z  }	t	          ||	¦  «        }
||
z  }|	|
z  }	t          j        |t          j        t          j        |¦  «        t          j        |	¦  «        z   ¦  «        z
  ¦  «        S Œüt          | |¦  «        }t          | |¦  «        }|||z   z  S )NrR   r7   rV   r   )r   rY   r!   rS   Úminr:   ra   )r0   Úar_   r[   r\   r]   r^   ÚXpYÚlogXÚlogYÚlogMÚGaÚGbs                r%   Úrandom_betar…   	  s.  € àˆC‚x�x�A˜’H�Hð	NÝ˜FÑ#Ô#ˆAÝ˜FÑ#Ô#ˆAÝ�A�s˜Q‘w‘”ˆAÝ�A�s˜Q‘w‘”ˆAØ�a‘%ˆCØ�cŠzˆz˜c Cši˜iØ˜‘E˜A’I�IØ˜s™7�Nåœ6 !™9œ9 q™=�DÝœ6 !™9œ9 q™=�DÝ˜t T™?œ?�DØ˜D‘L�DØ˜D‘L�Dåœ6 $­¬µ´°t±´½r¼vÀd¹|¼|Ñ0KÑ)LÔ)LÑ"LÑMÔMÐMð!	Nõ$ # 6¨1Ñ-Ô-ˆÝ" 6¨1Ñ-Ô-ˆØ�R˜"‘W‰~Ðr(   c                 ó.   — dt          | |dz  ¦  «        z  S r,   rw   )r0   Údfs     r%   Úrandom_chisquarerˆ   #  s   € àÕ& v¨r°C©xÑ8Ô8Ñ8Ð8r(   c                 óP   — t          | |¦  «        |z  t          | |¦  «        |z  z  S r    )rˆ   )r0   ÚdfnumÚdfdens      r%   Úrandom_frŒ   (  s0   € å˜f eÑ,Ô,¨uÑ4Ý˜f eÑ,Ô,¨uÑ4ñ6ð 7r(   c                 ó@   — t          | ¦  «        t          | ¦  «        z  S r    rf   rN   s    r%   Úrandom_standard_cauchyrŽ   .  s   € å! &Ñ)Ô)Õ,BÀ6Ñ,JÔ,JÑJÐJr(   c                 ó@   — t          t          | ¦  «        |z  ¦  «        S r    )r5   r/   ©r0   r~   s     r%   Úrandom_paretor‘   3  s   € åÕ/°Ñ7Ô7¸!Ñ;Ñ<Ô<Ð<r(   c                 óR   — |dk    rdS t          t          | ¦  «        d|z  ¦  «        S ©NrV   rR   )rY   r/   r�   s     r%   Úrandom_weibullr”   8  s-   € à	ˆSŠˆØˆsÝÕ*¨6Ñ2Ô2°B¸±FÑ;Ô;Ð;r(   c                 ó`   — t          t          t          | ¦  «         ¦  «         d|z  ¦  «        S rQ   )rY   r5   r/   r�   s     r%   Úrandom_powerr–   ?  s-   € å•Õ5°fÑ=Ô=Ð=Ñ>Ô>Ð>ÀÀQÁÑGÔGÐGr(   c                 óî   — t          | ¦  «        }|dk    rt          | ¦  «        }|dk    °|dk    r!||t          j        d|z
  |z
  ¦  «        z  z
  }n#|dk    r||t          j        ||z   ¦  «        z  z   }|S )Nr   rE   r-   rV   ©r   r!   rS   ©r0   rh   ri   r[   s       r%   Úrandom_laplacerš   D  s…   € å�FÑÔ€AØ
ˆqŠ&ˆ&Ý˜ÑÔˆð ˆqŠ&ˆ&à	ˆSŠˆØ�%�"œ&  q¡¨1¡Ñ-Ô-Ñ-Ñ-ˆˆØ
ˆcŠ'ˆ'Ø�%�"œ&  Q¡™-œ-Ñ'Ñ'ˆØ€Hr(   c                 ó–   — t          | ¦  «        }|dk    rt          | ¦  «        }|dk    °||t          j        |d|z
  z  ¦  «        z  z   S r“   r˜   r™   s       r%   Úrandom_logisticrœ   P  sR   € å�FÑÔ€AØ
ˆsŠ(ˆ(Ý˜ÑÔˆð ˆsŠ(ˆ(à��œ  S¨1¡W¡Ñ.Ô.Ñ.Ñ.Ð.r(   c                 óH   — t          j        t          | ||¦  «        ¦  «        S r    )r!   r:   rk   )r0   ÚmeanÚsigmas      r%   Úrandom_lognormalr    X  s   € åŒ6•- ¨¨eÑ4Ô4Ñ5Ô5Ð5r(   c                 ó¤   — t          | ¦  «        }t          | |dz  ¦  «        }t          j        |dz  ¦  «        |z  t          j        |¦  «        z  S )Né   )rB   ra   r!   r.   )r0   r‡   ÚnumÚdenoms       r%   Úrandom_standard_tr¥   ]  sF   € å
  Ñ
(Ô
(€CÝ! &¨"¨q©&Ñ1Ô1€EÝŒ7�2˜‘6‰?Œ?˜SÑ ¥2¤7¨5¡>¤>Ñ1Ð1r(   c                 óÜ   — |d|z  z  }t          | ¦  «        }||z  |z  }|||t          j        d|z  |z  ||z  z   ¦  «        z
  z  z   }t          | ¦  «        }||||z   z  k    r|S ||z  |z  S )Nr¢   é   )rB   r!   r.   r   )r0   rž   ri   Úmu_2lr^   r]   r[   s          r%   Úrandom_waldr©   d  s�   € à�A˜‘IÑ€EÝ˜vÑ&Ô&€AØˆq‰�1‰€AØˆu˜�BœG A¨¡I°¡M°A¸±EÑ$9Ñ:Ô:Ñ:Ñ;Ñ;€AÝ�FÑÔ€AØ	ˆT�T˜A‘XÑÒÐØˆà�d‰{˜Q‰Ðr(   c                 óp   — d}|x}}d|z
  }t          | ¦  «        }||k    r||z  }||z  }|dz   }||k    °|S )Nr7   rR   rq   )r0   Úpr]   ÚsumÚprodÚqr[   s          r%   Úrandom_geometric_searchr¯   q  s\   € à	€AØ€N€Cˆ$Øˆa‰€AÝ�FÑÔ€AØˆsŠ7ˆ7Ø�‰	ˆØˆt‰ˆØ�‰Eˆð ˆsŠ7ˆ7ð €Hr(   c                 ór   — t          j        t          | ¦  «         t          j        | ¦  «        z  ¦  «        S r    )r!   Úceilr/   r"   ©r0   r«   s     r%   Úrandom_geometric_inversionr³   ~  s-   € åŒ7Õ/°Ñ7Ô7Ð7½"¼(ÀAÀ2¹,¼,ÑFÑGÔGÐGr(   c                 óN   — |dk    rt          | |¦  «        S t          | |¦  «        S )NrW   )r¯   r³   r²   s     r%   Úrandom_geometricrµ   ƒ  s.   € à	Ð'Ò'Ð'Ý& v¨qÑ1Ô1Ð1å)¨&°!Ñ4Ô4Ð4r(   )r¢   r7   c                 ó@  — |dz
  }t          d|¦  «        }	 dt          | ¦  «        z
  }t          | ¦  «        }t          j        t          |d|z  ¦  «        ¦  «        }|t          k    s|dk     rŒYt          dd|z  z   |¦  «        }||z  |dz
  z  |dz
  z  ||z  k    r|S Œ‰©NrR   r-   r7   g      ð¿)rY   r   r!   Úfloorr   )r0   r~   Úam1r_   r[   r\   r]   ÚTs           r%   Úrandom_zipfr»   Œ  s³   € à�#‰gˆÝ��S‰MŒMˆð	Ø•k &Ñ)Ô)Ñ)ˆAÝ˜FÑ#Ô#ˆAÝ”�˜Q  s¡
Ñ+Ô+Ñ,Ô,ˆAØ•I’�  S¢ ØÝ�C˜# ™'‘M 3Ñ'Ô'ˆAØ�A‘˜˜S™Ñ! Q¨¡WÑ-°°Q±Ò6Ð6Ø�ð	r(   c                 ó|  — |dz
  }t          d|¦  «        }t          t          | ¦  «        }	 t          | ¦  «        }||z  d|z
  z   }t          | ¦  «        }t          j        t          |d|z  ¦  «        ¦  «        }|t          k    s|dk     rŒat          dd|z  z   |¦  «        }	||z  |	dz
  z  |dz
  z  |	|z  k    r|S Œ‘r·   )rY   r   r   r!   r¸   )
r0   r~   r¹   r_   ÚUminÚU01r[   r\   r]   rº   s
             r%   r»   r»   š  sÑ   € à�#‰gˆÝ��S‰MŒMˆÝ•9˜s˜dÑ#Ô#ˆð
	Ý˜fÑ%Ô%ˆCØ�d‘
˜a #™gÑ&ˆAÝ˜FÑ#Ô#ˆAÝ”�˜Q  s¡
Ñ+Ô+Ñ,Ô,ˆAØ•I’�  S¢ Øå�C˜# ™'‘M 3Ñ'Ô'ˆAØ�A‘˜˜S™Ñ! Q¨¡WÑ-°°Q±Ò6Ð6Ø�ð
	r(   c                 óÒ   — ||z
  }||z
  }||z  }||z  }||z
  |z  }t          | ¦  «        }	|	|k    r|t          j        |	|z  ¦  «        z   S |t          j        d|	z
  |z  ¦  «        z
  S rQ   )r   r!   r.   )
r0   Úleftr1   ÚrightÚbaseÚleftbaseÚratioÚleftprodÚ	rightprodr[   s
             r%   Úrandom_triangularrÇ   ¬  sƒ   € ð �4‰<€DØ�d‰{€HØ�t‰O€EØ˜$‰€HØ˜‘ Ñ%€Iå�FÑÔ€AØ	ˆUŠ
ˆ
Ø•b”g˜a (™lÑ+Ô+Ñ+Ð+à•r”w  a¡¨9Ñ4Ñ5Ô5Ñ5Ð5r(   c                 ó¨  — g d¢}| dk    s| dk    rdS | dk     rt          d| z
  ¦  «        }nd}| |z   }d|z  d|z  z  }d}|d	         }t          dd	¦  «        D ]}||z  }||d
|z
           z  }Œ||z  d|z  z   |dz
  t          j        |¦  «        z  z   |z
  }| dk     r5t          d|dz   ¦  «        D ]!}|t          j        |dz
  ¦  «        z
  }|dz
  }Œ"|S )N)
gUUUUUUµ?glÁlÁf¿g  J?g8�8�C¿g$ÿ+•K?g<™Ù°j_¿g¤A¤Az?g—SË†Bž¿g…8–þÆ?g5gGö¿rR   r-   rV   g      @é   r   g´¾dÈñgý?rD   r9   rE   r7   )Úintrs   r!   rS   )	r$   r~   ÚnÚx0Úx2Úlg2piÚgl0ÚkÚgls	            r%   Úrandom_loggamrÒ   ¼  s  € ð	7ð 	7ð 	7€Að 
ˆcŠˆ�q˜C’x�xØˆsØ
ˆcŠ'ˆ'Ý��A‘‰JŒJˆˆàˆà	
ˆQ‰€BØ
�‰(�s˜R‘xÑ	 €Bà"€EØ
ˆAŒ$€Cå�1�a‰[Œ[ð ð ˆØˆr‰	ˆØˆq��Q‘Œx‰ˆˆà	ˆr‰�C˜%‘KÑ	 2¨¡8­r¬v°b©z¬zÑ"9Ñ	9¸BÑ	>€BØ	ˆCŠˆÝ�q˜!˜a™%‘”ð 	ð 	ˆAØ•b”f˜R #™XÑ&Ô&Ñ&ˆBØ�c‘ˆBˆBà€Ir(   c                 ó|   — t          j        | ¦  «        }d}d}	 t          | ¦  «        }||z  }||k    r|dz  }n|S Œ#)Nr   rR   r7   )r!   r:   r   )r0   ÚlamÚenlamr]   r­   r[   s         r%   Úrandom_poisson_multrÖ   Þ  sT   € åŒF�C�4‰LŒL€EØ	€AØ€DðÝ˜ÑÔˆØ�‰	ˆØ�5ŠLˆLØ�‰FˆAˆAàˆHðr(   c                 ód  — t          j        |¦  «        }t          j        |¦  «        }dd|z  z   }dd|z  z   }dd|dz
  z  z   }dd	|d
z
  z  z
  }	 t          | ¦  «        dz
  }t          | ¦  «        }	dt          j        |¦  «        z
  }
t          d
|z  |
z  |z   |z  |z   dz   ¦  «        }|
dk    r|	|k    r|S |dk     s|
dk     r|	|
k    rŒ{t          j        |	¦  «        t          j        |¦  «        z   t          j        ||
|
z  z  |z   ¦  «        z
  | ||z  z   t          |dz   ¦  «        z
  k    r|S Œâ)Ng˜nƒÀÊí?g=
×£p=@gh‘í|?5®¿g[¶Ö	m™?g$—ÿ�~ûñ?grŠŽäòò?g333333@grùé·¯í?gB>èÙ¬ú@r¢   r7   rE   g…ëQ¸…Û?gìQ¸…ë±?r   g9´Èv¾ŸŠ?)r!   r.   rS   r   ÚfabsrÊ   rÒ   )r0   rÔ   ÚslamÚloglamr_   r~   ÚinvalphaÚvrr[   r\   ÚusrÐ   s               r%   Úrandom_poisson_ptrsrÞ   ì  s[  € õ Œ7�3‰<Œ<€DÝŒV�C‰[Œ[€FØ��t‘Ñ€AØ�˜1‘Ñ€AØ˜ ! c¡'Ñ*Ñ*€HØ	�&˜A ™EÑ"Ñ	"€BðÝ˜ÑÔ #Ñ%ˆÝ˜ÑÔˆØ•2”7˜1‘:”:ÑˆÝ��Q‘˜‘˜a‘ 1Ñ$ sÑ*¨TÑ1Ñ2Ô2ˆØ�4ŠZˆZ˜a 2šg˜gØˆHà�ŠUˆU˜˜eš˜¨!¨bª&¨&Øõ ŒV�A‰YŒY�œ Ñ)Ô)Ñ)­B¬F°1¸¸R¹±=À1Ñ3DÑ,EÔ,EÑEØˆD�1�v‘:Ñ¥¨a°!©eÑ 4Ô 4Ñ4ò6ð 6àˆHðr(   c                 ó^   — |dk    rt          | |¦  «        S |dk    rdS t          | |¦  «        S )Né
   r   )rÞ   rÖ   )r0   rÔ   s     r%   Úrandom_poissonrá     s9   € àˆrŠ	ˆ	Ý" 6¨3Ñ/Ô/Ð/Ø
�Š(ˆ(Øˆqå" 6¨3Ñ/Ô/Ð/r(   c                 óP   — t          | |d|z
  |z  ¦  «        }t          | |¦  «        S )Nr7   )ry   rá   )r0   rË   r«   r^   s       r%   Úrandom_negative_binomialrã     s+   € å�V˜Q  Q¡¨!¡Ñ,Ô,€AÝ˜& !Ñ$Ô$Ð$r(   c                 óJ  — t          j        |¦  «        rt           j        S |dk    rt          | |¦  «        S d|k     r?t          | |dz
  ¦  «        }t	          | ¦  «        t          j        |¦  «        z   }|||z  z   S t          | |dz  ¦  «        }t          | |d|z  z   ¦  «        S )Nr   r7   r-   r¢   )r!   ÚisnanÚnanrˆ   rB   r.   rá   )r0   r‡   ÚnoncÚChi2rË   Úis         r%   Úrandom_noncentral_chisquarerê     s¡   € å	„x��~„~ð ÝŒvˆàˆq‚y€yÝ ¨Ñ+Ô+Ð+àˆ2‚v€vÝ ¨¨Q©Ñ/Ô/ˆÝ" 6Ñ*Ô*­R¬W°T©]¬]Ñ:ˆØ�a˜!‘e‰|Ðå˜6 4¨#¡:Ñ.Ô.ˆÝ ¨¨Q°©U©
Ñ3Ô3Ð3r(   c                 óV   — t          | ||¦  «        |z  }|t          | |¦  «        |z  z  S r    )rê   rˆ   )r0   rŠ   r‹   rç   Úts        r%   Úrandom_noncentral_frí   )  s3   € å# F¨E°4Ñ8Ô8¸5Ñ@€AØÕ  ¨Ñ/Ô/°%Ñ7Ñ8Ð8r(   c           	      óz  — t          | ¦  «        }	 t          | ¦  «        }||k    rdS t          | ¦  «        }t          j        ||z  ¦  «         }|||z  k    rZt	          t          j        dt          j        |¦  «        t          j        |¦  «        z  z   ¦  «        ¦  «        }|dk     s|dk    rŒ |S ||k    rdS dS )Nr7   rV   r¢   )r&   r   r!   r4   r   r¸   rS   )r0   r«   r<   r\   r[   r®   Úresults          r%   Úrandom_logseriesrð   /  sº   € å�!�‰Œ€AðÝ˜ÑÔˆØ�ŠFˆFØ�1Ý˜ÑÔˆÝŒX�a˜!‘e‰_Œ_ÐˆØ��Q‘ŠJˆJÝ�2œ8 A­¬¨q©	¬	µB´F¸1±I´IÑ(=Ñ$=Ñ>Ô>Ñ?Ô?ˆFØ˜Šzˆz˜Q #šX˜XØà�Ø�ŠFˆFØ�1à�1r(   )r¢   é   c                 ó,  — |dz   }|dz   }|dz   |z
  }	||z
  dz   }
||z  }||z  }|	|	z  }|
|
z  }| |t          j        ||z  ¦  «        z  ||z
  dz   t          j        |	|
z  ¦  «        z  z   ||z
  t          j        |
|z  ||z  z  ¦  «        z  z   ddddd|z  z
  |z  z
  |z  z
  |z  z
  |z  dz  z   ddddd|z  z
  |z  z
  |z  z
  |z  z
  |	z  dz  z   ddddd|z  z
  |z  z
  |z  z
  |z  z
  |z  dz  z   ddddd|z  z
  |z  z
  |z  z
  |z  z
  |
z  dz  z   k    S )	Nr7   rE   g     ¸Ê@ç     à|@ç     €`@ç     ÀX@ç     €a@ç    €MA©r!   rS   ©ÚAÚxmÚmrË   Úyr<   r®   Úx1Úf1ÚzÚwrÍ   Úf2Úz2Úw2s                  r%   Ú_binomial_btpe_squeezer  F  sÌ  € ð
 �‰UˆØ�‰UˆØ�‰E�A‰IˆØ�‰E�A‰IˆØ�"‰WˆØ�"‰WˆØ�‰UˆØ�‰UˆØ�B�œ  R¡™œÑ(¨A°©E°C©K½2¼6À!ÀaÁ%¹=¼=Ñ+HÑHØ˜‘U�bœf Q¨¡U¨b°1©fÑ%5Ñ6Ô6Ñ6ñ7à˜t t¨s°T¸B±Y©À"Ñ.DÑ'DÈÑ&JÑJØññ Øñ Ø")ñ*ñ*ð ˜t t¨s°T¸B±Y©À"Ñ.DÑ'DÈÑ&JÑJØññ ØñØ!(ñ)ñ	)ð ˜t t¨s°T¸B±Y©À"Ñ.DÑ'DÈÑ&JÑJØññ Øñ Ø")ñ*ñ*ð ˜t t¨s°T¸B±Y©À"Ñ.DÑ'DÈÑ&JÑJØññ ØñØ!(ñ)ñ	)ò 	*ð 		*r(   c                 ó,  — |dz   }|dz   }|dz   |z
  }	||z
  dz   }
||z  }||z  }|	|	z  }|
|
z  }| |t          j        ||z  ¦  «        z  ||z
  dz   t          j        |	|
z  ¦  «        z  z   ||z
  t          j        |
|z  ||z  z  ¦  «        z  z   ddddd|z  z
  |z  z
  |z  z
  |z  z
  |z  dz  z   ddddd|z  z
  |z  z
  |z  z
  |z  z
  |	z  dz  z   ddddd|z  z
  |z  z
  |z  z
  |z  z
  |z  dz  z
  ddddd|z  z
  |z  z
  |z  z
  |z  z
  |
z  dz  z
  k    S )	Nr7   rE   g     Ë@ró   rô   rõ   rö   r÷   rø   rù   s                  r%   r  r  ^  sÌ  € ð �‰UˆØ�‰UˆØ�‰E�A‰IˆØ�‰E�A‰IˆØ�"‰WˆØ�"‰WˆØ�‰UˆØ�‰UˆØ�B�œ  R¡™œÑ(¨A°©E°C©K½2¼6À!ÀaÁ%¹=¼=Ñ+HÑHØ˜‘U�bœf Q¨¡U¨b°1©fÑ%5Ñ6Ô6Ñ6ñ7à˜t t¨s°T¸B±Y©À"Ñ.DÑ'DÈÑ&JÑJØññ Øñ Ø")ñ*ñ*ð ˜t t¨s°T¸B±Y©À"Ñ.DÑ'DÈÑ&JÑJØññ ØñØ!(ñ)ñ	)ð ˜t t¨s°T¸B±Y©À"Ñ.DÑ'DÈÑ&JÑJØññ Øñ Ø")ñ*ñ*ð ˜t t¨s°T¸B±Y©À"Ñ.DÑ'DÈÑ&JÑJØññ ØñØ!(ñ)ñ	)ò 	*ð 		*r(   c                 ód   — t          |d|z
  ¦  «        }t          | ||¦  «        }|dk    r||z
  n|S )NrR   rE   )r}   Ú_binomial_btpe_impl)r0   rË   r«   r<   rý   s        r%   Úrandom_binomial_btper	  {  s:   € åˆAˆs�Q‰w‰Œ€AÝ˜F A qÑ)Ô)€AØ˜’G�Gˆ1ˆq‰5ˆ5 Ð"r(   c           	      óv  — d|z
  }t          j        |t          j        |¦  «        z  ¦  «        }||z  }t          ||dt          j        ||z  dz   ¦  «        z  z   ¦  «        }d}|}t          | ¦  «        }	|	|k    r>|dz   }||k    rd}|}t          | ¦  «        }	n|	|z  }	||z
  dz   |z  |z  ||z  z  }|	|k    °>|S )NrR   g      $@r7   r   )r!   r:   rS   r}   r.   r   )
r0   rË   r«   r®   ÚqnÚ_npÚboundr]   Úpxr[   s
             r%   Úrandom_binomial_inversionr  ‚  sß   € àˆa‰€AÝ	Œ�•B”F˜1‘I”I‘Ñ	Ô	€BØ
ˆa‰%€CÝ��3˜¥¤¨¨a©°!©Ñ 4Ô 4Ñ4Ñ4Ñ5Ô5€Eà	€AØ	€BÝ�FÑÔ€AØˆrŠ6ˆ6Ø�‰EˆØ�ŠIˆIØˆAØˆBÝ˜FÑ#Ô#ˆAˆAà�‰GˆAØ�q‘5˜1‘9 ‘/ BÑ&¨1¨q©5Ñ1ˆBð ˆrŠ6ˆ6ð €Hr(   c                 óì   — |dk    s|dk    rdS |dk    r+||z  dk    rt          | ||¦  «        S t          | ||¦  «        S d|z
  }||z  dk    r|t          | ||¦  «        z
  S |t          | ||¦  «        z
  S )Nr   rV   rE   g      >@rR   )r  r	  )r0   rË   r«   r®   s       r%   Úrandom_binomialr  ™  s˜   € à	
ˆaŠˆ�Q˜#’X�XØˆqà	ˆSŠˆØ�‰E�TŠMˆMÝ,¨V°Q¸Ñ:Ô:Ð:å'¨°°1Ñ5Ô5Ð5à�!‰GˆØ�‰E�TŠMˆMØÕ0°¸¸AÑ>Ô>Ñ>Ð>àÕ+¨F°A°qÑ9Ô9Ñ9Ð9r(   )UÚ__doc__Únumpyr!   Únumba.core.extendingr   Únumba.np.random._constantsr   r   r   r   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   Únumba.cpython._binomialr   Únumba.np.random.generator_corer   r   r   r   Únumbar   r   Únumba.np.numpy_supportr   r&   r*   r2   r5   rB   rF   r/   rL   rO   rT   ra   rd   rk   rm   ro   ru   ry   r{   r…   rˆ   rŒ   rŽ   r‘   r”   r–   rš   rœ   r    r¥   r©   r¯   r³   rµ   r»   rÇ   rÒ   rÖ   rÞ   rá   rã   rê   rí   rð   r  r  r	  r  r  © r(   r%   ú<module>r     s_  ððð ð
 Ð Ð Ð à 1Ð 1Ð 1Ð 1Ð 1Ð 1ð	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 	Gð 7Ð 6Ð 6Ð 6Ð 6Ð 6ðFð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fà  Ð  Ð  Ð  Ð  Ð  Ð  Ð  Ø 0Ð 0Ð 0Ð 0Ð 0Ð 0ð
 ðð ñ Ôðð ð ð  ñ Ôð ð ðEð Eñ ÔðEð ðð ñ Ôðð ðð ñ Ôðð8 ðð ñ Ôðð6 ðð ñ Ôðð" ðð ñ Ôðð$ ð+ð +ñ Ôð+ð ð6ð 6ñ Ôð6ð ð"ð "ñ Ôð"ðJ ð&&ð &&ñ Ôð&&ðR ðð ñ Ôðð
 ð(ð (ñ Ôð(ð
 ð7ð 7ñ Ôð7ð ð"ð "ñ Ôð"ð
 ð8ð 8ñ Ôð8ð ðCð Cñ ÔðCð ðð ñ Ôðð2 ð9ð 9ñ Ôð9ð ð7ð 7ñ Ôð7ð
 ðKð Kñ ÔðKð ð=ð =ñ Ôð=ð ð<ð <ñ Ôð<ð ðHð Hñ ÔðHð ðð ñ Ôðð ð/ð /ñ Ôð/ð ð6ð 6ñ Ôð6ð ð2ð 2ñ Ôð2ð ð	ð 	ñ Ôð	ð ð	ð 	ñ Ôð	ð ðHð Hñ ÔðHð ð5ð 5ñ Ôð5ð �6ÒÐØðð ñ Ôðð ð ðð ñ Ôðð" ð6ð 6ñ Ôð6ð ðð ñ ÔððB ð
ð 
ñ Ôð
ð ðð ñ Ôðð6 ð0ð 0ñ Ôð0ð ð%ð %ñ Ôð%ð
 ð4ð 4ñ Ôð4ð  ð9ð 9ñ Ôð9ð
 ðð ñ Ôðð* �6ÒÐØð*ð *ñ Ôð*ð *ð. ð*ð *ñ Ôð*ð2 )Ð(¨Ð6LÑMÔMÐ ð ð#ð #ñ Ôð#ð ðð ñ Ôðð, ð:ð :ñ Ôð:ð :ð :r(   