§
    ƒÛg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mZmZmZ ddlmZ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„ ¦   «         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,„ ¦   «         ZFed-„ ¦   «         ZGed.„ ¦   «         ZHed/„ ¦   «         ZIed0„ ¦   «         ZJed1„ ¦   «         ZKed2„ ¦   «         ZLed3„ ¦   «         ZMed4„ ¦   «         ZNdS )5zU
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)Únext_doubleÚ
next_floatÚnext_uint32Únext_uint64)Úfloat32Úint64c                 ó*   — t          j        | ¦  «        S ©N)ÚnpÚlog1p©Úxs    úS/granary/edev/quantum/lib/python3.11/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_rayleighr0   $   s%   € à•"”'˜#Õ ;¸FÑ CÔ CÑCÑDÔDÑDÐDr&   c                 ó*   — t          j        | ¦  «        S r   )r   Úexpm1r!   s    r#   Únp_expm1r3   )   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©r.   ÚrÚidxÚsignÚrabsr"   ÚxxÚyys           r#   Úrandom_standard_normalr@   .   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 �Œ£)Nr5   r6   r7   é	   iÿÿ r   ç      à?)r   r   r   r	   r
   r(   r   r   r   r   r8   r9   s           r#   Úrandom_standard_normal_frD   K   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 ŒÂ)Nr5   é   r6   r7   r   )	r   r   r   r   r$   r   r   r   r8   ©r.   Úrir;   r"   s       r#   r-   r-   g   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 �Œ)Nr5   r6   r7   r   )
r   r   r   r   r   r(   r   r   r   r8   rG   s       r#   Úrandom_standard_exponential_frJ   y   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   ©r.   s    r#   Úrandom_standard_exponential_invrM   Œ   s   € å•k &Ñ)Ô)Ð)Ñ*Ô*Ð*Ð*r&   c                 óf   — t          j        t          d¦  «        t          | ¦  «        z
  ¦  «         S ©Nç      ð?)r   Úlogr   r   rL   s    r#   Ú!random_standard_exponential_inv_frR   ‘   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 Œ“)NrP   ç        r5   çUUUUUUÕ?rB   çmÅþ²{ò ?rC   )r-   r   Úpowr   rQ   r,   r@   )r.   ÚshapeÚUÚVÚXÚYÚbÚcs           r#   Úrandom_standard_gammar_   –   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 Œû)NrP   rT   r5   ç      @g      "@rV   rC   )r   rJ   r   rW   r   rQ   r,   rD   )	r.   rX   Úf32_onerY   rZ   r[   r\   r]   r^   s	            r#   Úrandom_standard_gamma_frc   ¼   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   ©r@   ©r.   ÚlocÚscaleÚscaled_normals       r#   Úrandom_normalrj   æ   s    € àÕ2°6Ñ:Ô:Ñ:€MØ�ÑÐr&   c                 ód   — t          |t          | ¦  «        z  ¦  «        }t          ||z   ¦  «        S r   )r   rD   rf   s       r#   Úrandom_normal_frl   ì   s0   € å˜EÕ$<¸VÑ$DÔ$DÑDÑEÔE€MÝ�3˜Ñ&Ñ'Ô'Ð'r&   c                 ó&   — |t          | ¦  «        z  S r   )r-   )r.   rh   s     r#   Úrandom_exponentialrn   ò   s   € àÕ.¨vÑ6Ô6Ñ6Ð6r&   c                 ó0   — |t          | ¦  «        z  }||z   S r   ©r   )r.   ÚlowerÚrangeÚscaled_uniforms       r#   Úrandom_uniformrt   ÷   s   € à�[¨Ñ0Ô0Ñ0€NØ�>Ñ!Ð!r&   c                 ó(   — |t          | |¦  «        z  S r   ©r_   ©r.   rX   rh   s      r#   Úrandom_gammarx   ý   s   € àÕ(¨°Ñ7Ô7Ñ7Ð7r&   c                 óB   — t          |t          | |¦  «        z  ¦  «        S r   )r   rc   rw   s      r#   Úrandom_gamma_frz     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 )NrP   r5   rT   r   )r   rW   r   rQ   Úminr8   r_   )r.   Úar]   rY   rZ   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*   rv   )r.   Údfs     r#   Úrandom_chisquarer‡   !  s   € àÕ& v¨r°C©xÑ8Ô8Ñ8Ð8r&   c                 óP   — t          | |¦  «        |z  t          | |¦  «        |z  z  S r   )r‡   )r.   ÚdfnumÚdfdens      r#   Úrandom_fr‹   &  s0   € å˜f eÑ,Ô,¨uÑ4Ý˜f eÑ,Ô,¨uÑ4ñ6ð 7r&   c                 ó@   — t          | ¦  «        t          | ¦  «        z  S r   re   rL   s    r#   Úrandom_standard_cauchyr�   ,  s   € å! &Ñ)Ô)Õ,BÀ6Ñ,JÔ,JÑJÐJr&   c                 ó@   — t          t          | ¦  «        |z  ¦  «        S r   )r3   r-   ©r.   r}   s     r#   Úrandom_paretor�   1  s   € åÕ/°Ñ7Ô7¸!Ñ;Ñ<Ô<Ð<r&   c                 óR   — |dk    rdS t          t          | ¦  «        d|z  ¦  «        S ©NrT   rP   )rW   r-   r�   s     r#   Úrandom_weibullr“   6  s-   € à	ˆSŠˆØˆsÝÕ*¨6Ñ2Ô2°B¸±FÑ;Ô;Ð;r&   c                 ó`   — t          t          t          | ¦  «         ¦  «         d|z  ¦  «        S rO   )rW   r3   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   rC   r+   rT   ©r   r   rQ   ©r.   rg   rh   rY   s       r#   Úrandom_laplacer™   B  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›   N  sR   € å�FÑÔ€AØ
ˆsŠ(ˆ(Ý˜ÑÔˆð ˆsŠ(ˆ(à��œ  S¨1¡W¡Ñ.Ô.Ñ.Ñ.Ð.r&   c                 óH   — t          j        t          | ||¦  «        ¦  «        S r   )r   r8   rj   )r.   ÚmeanÚsigmas      r#   Úrandom_lognormalrŸ   V  s   € åŒ6•- ¨¨eÑ4Ô4Ñ5Ô5Ð5r&   c                 ó¤   — t          | ¦  «        }t          | |dz  ¦  «        }t          j        |dz  ¦  «        |z  t          j        |¦  «        z  S )Né   )r@   r_   r   r,   )r.   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¡   é   )r@   r   r,   r   )r.   r�   rh   Úmu_2lr\   r[   rY   s          r#   Úrandom_waldr¨   b  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 )Nr5   rP   rp   )r.   Úpr[   ÚsumÚprodÚqrY   s          r#   Úrandom_geometric_searchr®   o  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    ©r.   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 )NrU   )r®   r²   r±   s     r#   Úrandom_geometricr´   �  s.   € à	Ð'Ò'Ð'Ý& v¨qÑ1Ô1Ð1å)¨&°!Ñ4Ô4Ð4r&   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 Œ‰)NrP   r+   r5   g      ð¿)rW   r   r   Úfloorr   )r.   r}   Úam1r]   rY   rZ   r[   ÚTs           r#   Úrandom_zipfr¹   ‰  s³   € à
ˆc‰'€CÝˆC�‰Œ€Að	Ø•+˜fÑ%Ô%Ñ%ˆÝ˜ÑÔˆÝŒH•S˜˜D 3™JÑ'Ô'Ñ(Ô(ˆØ•	ŠMˆM˜Q šW˜WØå��c˜A‘g‘˜sÑ#Ô#ˆØ�‰E�Q˜‘WÑ  S¡Ñ)¨Q°©UÒ2Ð2ØˆHð	r&   c                 óÒ   — ||z
  }||z
  }||z  }||z  }||z
  |z  }t          | ¦  «        }	|	|k    r|t          j        |	|z  ¦  «        z   S |t          j        d|	z
  |z  ¦  «        z
  S rO   )r   r   r,   )
r.   Úleftr/   ÚrightÚbaseÚleftbaseÚratioÚleftprodÚ	rightprodrY   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ö¿rP   r+   rT   g      @é   r   g´¾dÈñgý?rB   r7   rC   r5   )Úintrr   r   rQ   )	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   rP   r5   )r   r8   r   )r.   ÚlamÚenlamr[   r¬   rY   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¡   r5   rC   g…ëQ¸…Û?gìQ¸…ë±?r   g9´Èv¾ŸŠ?)r   r,   rQ   r   ÚfabsrÅ   rÍ   )r.   rÏ   ÚslamÚloglamr]   r}   ÚinvalphaÚvrrY   rZ   Ú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Ñ   )r.   rÏ   s     r#   Úrandom_poissonrÜ   õ  s9   € àˆrŠ	ˆ	Ý" 6¨3Ñ/Ô/Ð/Ø
�Š(ˆ(Øˆqå" 6¨3Ñ/Ô/Ð/r&   c                 óP   — t          | |d|z
  |z  ¦  «        }t          | |¦  «        S )Nr5   )rx   rÜ   )r.   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   r5   r+   r¡   )r   ÚisnanÚnanr‡   r@   r,   rÜ   )r.   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‡   )r.   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 )Nr5   rT   r¡   )r$   r   r   r2   r   r¶   rQ   )r.   rª   r:   rZ   rY   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&   c           	      óf	  — t          |d|z
  ¦  «        }d|z
  }||z  |z   }t          t          j        |¦  «        ¦  «        }t          t          j        dt          j        ||z  |z  ¦  «        z  d|z  z
  ¦  «        dz   ¦  «        }|dz   }||z
  }	||z   }
ddd|z   z  z   }||	z
  ||	|z  z
  z  }|d|dz  z   z  }|
|z
  |
|z  z  }|d|dz  z   z  }|dd|z  z   z  }|||z  z   }|||z  z   }d	}d
x}}	 |d	k    r_||z  |z  }t          | ¦  «        |z  }t          | ¦  «        }||k    rd}Œ9t          t          j        |||z  z
  |z   ¦  «        ¦  «        }d}Œf|dk    rg||k    rd}Œu|	||z
  |z  z   }||z  dz   t          j        ||z
  dz   ¦  «        |z  z
  }|dk    rd	}Œ¯t          t          j        |¦  «        ¦  «        }d}ŒÓ|dk    ra||k    rd}Œât          t          j        |	t          j        |¦  «        |z  z   ¦  «        ¦  «        }|d
k     s|dk    rd	}�Œ+|||z
  z  |z  }d}�Œ:|dk    rXt          t          j        |
t          j        |¦  «        |z  z
  ¦  «        ¦  «        }||k    s|dk    rd	}�Œ‰|||z
  z  |z  }d}�Œ˜|dk    ršt          ||z
  ¦  «        }|dk    r||dz  dz
  k     rd}�ŒÆ||z  }||dz   z  }d}||k     r%t          |dz   |dz   ¦  «        D ]}|||z  |z
  z  }Œn*||k    r$t          |dz   |dz   ¦  «        D ]}|||z  |z
  z  }Œ||k    rd	}�Œ4d}�Œ8|dk    �rn||z  ||dz  dz   z  dz   |z  dz   z  }| |z  d|z  z  }t          j        |¦  «        }|||z
  k     rd}�Œ†|||z   k    rd	}�Œ“|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    rd	}�Œ¬n|dk    r|dk    r||z
  }|S �ŒÁ)NrP   g�Âõ(\�@gffffff@rC   gôýÔxé&Á?g     €4@gš™™™™™.@r+   rÛ   r   r5   é   é<   é   é2   é(   rT   é4   ra   g      ä?gUUUUUUÅ?r¡   g     ¸Ê@g     à|@g     €`@g     ÀX@g     €a@g    €MAg     1ð@)
r|   rÅ   r   r¶   r,   r   rÓ   rQ   Úabsrr   )'r.   rÆ   rª   r:   r­   ÚfmÚmÚp1ÚxmÚxlÚxrr^   r}   ÚlamlÚlamrÚp2Úp3Úp4ÚcaseÚyrË   ÚnrqÚuÚvr"   ÚsÚFrä   Úrhorç   ÚAÚx1Úf1ÚzÚwrÈ   Úf2Úz2Úw2s'                                          r#   Úrandom_binomial_btper  2  s{  € åˆAˆs�Q‰w‰Œ€AØˆa‰€AØ	
ˆQ‰�‰€BÝ�BŒH�R‰LŒLÑÔ€AÝ	�RŒX�e�bœg a¨!¡e¨a¡iÑ0Ô0Ñ0°3¸±7Ñ:Ñ;Ô;¸cÑAÑ	BÔ	B€BØ	
ˆS‰€BØ	ˆb‰€BØ	ˆb‰€BØ�˜˜q™Ñ!Ñ!€AØ	ˆb‰�R˜"˜q™&‘[Ñ!€AØ��a˜#‘g‘Ñ€DØ	ˆb‰�R˜!‘VÑ€AØ��a˜#‘g‘Ñ€DØ	ˆs�S˜1‘W‰}Ñ	€BØ	ˆa�$‰h‰€BØ	ˆa�$‰h‰€Bà€DØ€I€Aˆð`Ø�2Š:ˆ:Ø�a‘%˜!‘)ˆCÝ˜FÑ#Ô# bÑ(ˆAÝ˜FÑ#Ô#ˆAØ�B’�Ø�ØÝ•B”H˜R " q¡&™[¨1™_Ñ-Ô-Ñ.Ô.ˆAØˆDØØ�RŠZˆZØ�B’�Ø�ØØ�a˜"‘f ‘\Ñ!ˆAØ�A‘˜‘�bœg a¨!¡e¨c¡kÑ2Ô2°RÑ7Ñ7ˆAØ�C’�Ø�ØÝ•B”H˜Q‘K”KÑ Ô ˆAØˆDØØ�RŠZˆZØ�B’�Ø�ØÝ•B”H˜R¥"¤&¨¡)¤)¨dÑ"2Ñ2Ñ3Ô3Ñ4Ô4ˆAØ�Q’�˜A šH˜HØ�ÙØ�Q˜‘V‘˜tÑ#ˆAØˆDÙØ�RŠZˆZÝ•B”H˜R¥"¤&¨¡)¤)¨dÑ"2Ñ2Ñ3Ô3Ñ4Ô4ˆAØ�Q’�˜A šH˜HØ�ÙØ�Q˜‘V‘˜tÑ#ˆAØˆDÙØ�RŠZˆZÝ�A˜‘E‘
”
ˆAØ�R’�˜a C¨3¡;°¡?Ò3Ð3Ø�ÙØ�A‘ˆAØ�Q˜‘U‘ˆAØˆAØ�A’�Ý˜q 1™u a¨!¡eÑ,Ô,ð (ð (�AØ˜Q ™U Q™Y™�A�Að(à�a’%�%Ý˜q 1™u a¨!¡eÑ,Ô,ð (ð (�AØ˜Q ™U Q™Y™�A�AØ�A’�Ø�ÙØˆDÙØ�RŠZ‰ZØ˜‘9Ø˜˜S™ 5™Ñ)Ð,?Ñ?ØñØññˆCð ��Q‘˜!˜c™'Ñ"ˆAÝ”�q‘	”	ˆAØ�Q˜‘W’�Ø�ÙØ�Q˜‘W’�Ø�ÙØ�Q‘ˆBØ�Q‘ˆBØ�A‘˜‘	ˆAØ�A‘˜‘	ˆAØ�b‘ˆBØ�b‘ˆBØ�Q‘ˆBØ�Q‘ˆBØ�R�"œ&  b¡™/œ/Ñ)¨Q°©U°S©[½B¼FÀ1ÀqÁ5¹M¼MÑ,IÑIØ˜!‘e�rœv a¨!¡e¨r°A©vÑ&6Ñ7Ô7Ñ7ñ8à ¨°°d¸R±i±À2Ñ/EÑ(EÈÑ'KÑ KØñ ñ Ø ñ!Ø#*ñ+ñ+ð  ¨°°d¸R±i±À2Ñ/EÑ(EÈÑ'KÑ KØñ ñ Øñ Ø")ñ*ñ	*ð  ¨°°d¸R±i±À2Ñ/EÑ(EÈÑ'KÑ KØñ ñ Ø ñ!Ø#*ñ+ñ+ð  ¨°°d¸R±i±À2Ñ/EÑ(EÈÑ'KÑ KØñ ñ Øñ Ø"(ñ)ñ	)ò 	*ð 	*ð �Ùð	*ð �RŠZˆZØ�C’�Ø˜‘E�ØˆHñA`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 )NrP   g      $@r5   r   )r   r8   rQ   r|   r,   r   )
r.   rÆ   rª   r­   ÚqnÚ_npÚboundr[   ÚpxrY   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   rT   rC   g      >@rP   )r  r  )r.   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&   )OÚ__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.np.random.generator_corer   r   r   r   Únumbar   r   r$   r(   r0   r3   r@   rD   r-   rJ   rM   rR   r_   rc   rj   rl   rn   rt   rx   rz   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ðFð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fð Fà  Ð  Ð  Ð  Ð  Ð  Ð  Ð  ð
 ðð ñ Ôðð ð ð  ñ Ôð ð ð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ð ðð ñ ÔððB ð
ð 
ñ Ôð
ð ðð ñ Ôðð6 ð0ð 0ñ Ôð0ð ð%ð %ñ Ôð%ð
 ð4ð 4ñ Ôð4ð  ð9ð 9ñ Ôð9ð
 ðð ñ Ôðð* ðtð tñ Ôðtðn ðð ñ Ôðð, ð:ð :ñ Ôð:ð :ð :r&   