
    i                        S r SSKrSSKJr  SSKJrJr  SSKJ	r	J
r
  SSK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JrJrJrJrJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*J+r+J,r,J-r-J.r.J/r/J0r0J1r1J2r2J3r3J4r4J5r5J6r6  SSK7J8r8  SSS jr9S r:S r;\" \Rx                  S5      S\Rz                  S4S j5       r>\" \Rx                  S5      STS j5       r?\" \Rx                  S5      STS j5       r@\" \Rx                  S5      S\R                  4S j5       rB\" \Rx                  S5      S\R                  S4S j5       rC\" \Rx                  S5      S\R                  4S j5       rD\" \Rx                  S5      S\R                  4S j5       rE\" \Rx                  S5        SUS  j5       rF\" \Rx                  S!5        SUS" j5       rG\" \Rx                  S#5      SVS$ j5       rH\" \Rx                  S%5      SVS& j5       rI\" \Rx                  S'5      SWS( j5       rJ\" \Rx                  S)5      SWS* j5       rK\" \Rx                  S+5      SWS, j5       rL\" \Rx                  S-5      SWS. j5       rM\" \Rx                  S/5      SWS0 j5       rN\" \Rx                  S15      SWS2 j5       rO\" \Rx                  S35      SWS4 j5       rP\" \Rx                  S55      SUS6 j5       rQ\" \Rx                  S75      SUS8 j5       rR\" \Rx                  S95      SUS: j5       rS\" \Rx                  S;5      SVS< j5       rT\" \Rx                  S=5      SWS> j5       rU\" \Rx                  S?5      SWS@ j5       rV\" \Rx                  SA5      SWSB j5       rW\" \Rx                  SC5      SWSD j5       rX\" \Rx                  SE5      SWSF j5       rY\" \Rx                  SG5      SWSH j5       rZ\" \Rx                  SI5      SWSJ j5       r[\" \Rx                  SK5      SWSL j5       r\\" \Rx                  SM5      SWSN j5       r]\" \Rx                  SO5      SWSP j5       r^\" \Rx                  SQ5      SWSR j5       r_g)Xz;
Implementation of method overloads for Generator objects.
    N)types)overload_methodregister_jitable)as_dtype
from_dtype)
next_floatnext_double)is_nonelike)TypingError)TupleUniTuple)"!random_standard_exponential_inv_frandom_standard_exponential_invrandom_standard_exponentialrandom_standard_normal_frandom_standard_gammarandom_standard_normalrandom_uniformrandom_standard_exponential_frandom_standard_gamma_frandom_normalrandom_exponentialrandom_gammarandom_betarandom_powerrandom_frandom_chisquarerandom_standard_cauchyrandom_paretorandom_weibullrandom_laplacerandom_logisticrandom_lognormalrandom_rayleighrandom_standard_trandom_waldrandom_geometricrandom_zipfrandom_triangularrandom_poissonrandom_negative_binomialrandom_logseriesrandom_noncentral_chisquarerandom_noncentral_frandom_binomial)random_methodsc                    [        U[        R                  5      (       a  UR                  nUn[        U[        5      (       a   [        [        R                  " U5      5      nO,[        U[        R                  5      (       a  Un[        U5      nU[        R                  [        R                  4;  a  [        S5      eU[        R                  :X  a  U nUW4$ UnUW4$ )z
Most of the standard NumPy distributions that accept dtype argument
only support either np.float32 or np.float64 as dtypes.

This is a helper function that helps Numba select the proper underlying
implementation according to provided dtype.
zLArgument dtype is not one of the expected type(s):  np.float32 or np.float64)
isinstancer   Omittedvaluetyper   npdtypeNumberClassr   float32float64r   )func_32func_64r7   	dist_namenp_dtnb_dt	next_funcs          \/var/www/html/trading/venv/lib/python3.13/site-packages/numba/np/random/generator_methods.py_get_proper_funcrB      s     %''E%288E?+	E5,,	-	-RZZ,, 6 7 	7 

	 e 	e    c                 *   [        [        U [        5      =(       a$    [        U R                  [        R
                  5      [        U [        5      =(       a    U R                  S:H  [        U [        R
                  5      /5      (       d  [        S5      eg )Nr   zdArgument size is not one of the expected type(s):  an integer, an empty tuple or a tuple of integers)	anyr2   r   r7   r   Integerr   countr   )sizes    rA   
check_sizerI   ;   su    
4* 64::u}}54';DJJ!O4/1 2 2  O P 	P	2rC   c           	         [        U [        R                  5      (       a  U R                  n [        U[        [
        45      (       d  U/n[        U Vs/ s H  n[        X5      PM     sn5      (       d  [        SU S3SU 3-   5      egs  snf )zP
Check if given object is one of the provided types.
If not raises an TypeError
z	Argument z is not one of thez expected type(s): N)r2   r   r3   r4   listtuplerE   r   )obj	type_listarg_name_types       rA   check_typesrQ   E   s    
 #u}}%%iii$//K	I>I5
3&I>??IhZ/AB/	{;< = 	= @>s   B
integersFc                 p  ^
^^ [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  [        /S5        [        U[        R                  5      (       a  UR                  n[        U[        R                  5      (       a  UR                  n[        U[        5      (       a"  [        [        R                  " U5      5      nUnO8[        U[        R                  5      (       a  Un[        U5      nO[        S5      eU[        R                   :X  a  ["        R$                  m
SmSmOM [        R&                  " U5      n[+        ["        SUR,                   S35      m
UR.                  mUR0                  m[3        U5      (       a  S [        R4                  S	4U
UU4S
 jjn	U	$ [7        U5        S [        R4                  S	4U
UU4S jjn	U	$ ! [(         a    [        S5      ef = f)NlowhighendpointzArgument dtype is not one of the expected type(s): np.int32, np.int64, np.int16, np.int8, np.uint32, np.uint64, np.uint16, np.uint8, np.bool_   random_bounded_uint_fillFc                   > [         R                  " XUTT	5        U(       d6  X$" S5      -  nU" U5      nU" U5      nX!-
  nT" U R                  XSU5      S   $ U" U5      nU" U5      nX!-
  nT" U R                  XSU5      S   $ )N   r   r0   _randint_arg_checkbit_generator
instrT   rU   rH   r7   rV   rngint_funclower_boundupper_bounds
          rA   impl/NumPyRandomGeneratorType_integers.<locals>.impl   s    --c.9;Ha CjT{j 2 2CaGJJCjT{j 2 2CaGJJrC   c                    > [         R                  " XUTT	5        U(       d2  X$" S5      -  nU" U5      nU" U5      nX!-
  nT" U R                  XX45      $ U" U5      nU" U5      nX!-
  nT" U R                  XX45      $ )Nr\   r]   r`   s
          rA   rf   rg      s    --c.9;Ha CjT{j 2 2CdJJCjT{j 2 2CdJJrC   )rQ   r   rF   Booleanboolintr2   r3   r4   r5   r   r6   r7   r8   r   r   bool_r0   random_bounded_bool_filliinfo
ValueErrorgetattrbitsminmaxr
   int64rI   )ra   rT   rU   rH   r7   rV   r?   _dtypei_inforf   rc   rd   re   s             @@@rA   !NumPyRandomGeneratorType_integersrw   V   s    emmmmT30168u}}emmS"#)+5==$/<$&&zz%''%288E?+	E5,,	-	-% % & 	& !::	*XXf%F >0UCEjjjj4'+xx%	K 	K 4'+xx%	K 	K ]  	* ) * *	*s   >H H5shufflec                     [        U[        R                  /S5        [        U[        [        R                  /S5        SS jnU$ )Nxaxisc                    US:  a  X!R                   -   nX!R                   S-
  :  d  US:  a  [        S5      e[        R                  " USU5      n[        R                  " US   5      n[        [        U5      S-
  SS5       HX  n[        R                  " [        R                  " U R                  U5      5      nXV:X  a  M?  X6S4   US'   X5S4   X6S4'   XCUS4'   MZ     g )Nr   r\   z)Axis is out of bounds for the given array)r   .rW   .)ndim
IndexErrorr6   swapaxes
empty_likerangelenr   intpr0   random_intervalr_   )ra   rz   r{   zbufijs          rA   rf   .NumPyRandomGeneratorType_shuffle.<locals>.impl   s    !8&&=D&&1*qHIIKK1d#mmAfI&s1vz1b)A

>99$:L:L:;= >AvCyCHS&	AfIafI *rC   r   )rQ   r   Arrayrk   rF   )ra   rz   r{   rf   s       rA    NumPyRandomGeneratorType_shuffler      s5    EKK=#&sEMM*F3$ KrC   permutationc                    ^ [        U[        R                  [        R                  /S5        [        U[        [        R                  /S5        [        U[        R                  5      mSU4S jjnU$ )Nrz   r{   c                    > T(       a)  [         R                  " U5      nU R                  U5        U$ UR                  5       nU R                  X2S9  U$ )N)r{   )r6   arangerx   copy)ra   rz   r{   new_arrIS_INTs       rA   rf   2NumPyRandomGeneratorType_permutation.<locals>.impl   sF    iilGLL!  ffhGLLL,rC   r   )rQ   r   r   rF   rk   r2   )ra   rz   r{   rf   r   s       @rA   $NumPyRandomGeneratorType_permutationr      sM    EKK/5sEMM*F35==)F KrC   randomc                 .  ^^ [        [        [        US5      u  mm[        U[        R
                  5      (       a  UR                  n[        U5      (       a  S [        R                  4UU4S jjnU$ [        U5        S [        R                  4U4S jjnU$ )Nr   c                 4   > T" T" U R                   5      5      $ Nr_   ra   rH   r7   	dist_funcr?   s      rA   rf   -NumPyRandomGeneratorType_random.<locals>.impl       4#5#5677rC   c                    > [         R                  " XS9nUR                  n[        UR                  5       H  nT" U R
                  5      XE'   M     U$ Nr7   r6   emptyflatr   rH   r_   ra   rH   r7   outout_fr   r   s         rA   rf   r      C    ((4-CHHE388_$T%7%78 %JrC   )rB   r   r	   r2   r   r3   r4   r
   r6   r:   rI   ra   rH   r7   rf   r   r?   s       @@rA   NumPyRandomGeneratorType_randomr      su    '
K(-x9Iu$&&zz4 

 	8 	84 

 	 rC   standard_exponentialzigc                   ^^^ [        U[        R                  [        /S5        [	        [
        [        U5      u  mm[	        [        [        U5      u  mm[        U[        R                  5      (       a  UR                  n[        U5      (       a  S [        R                  S4UUU4S jjnU$ [        U5        S [        R                  S4UU4S jjnU$ )Nmethodr   c                    > US:X  a  T" T" U R                   5      5      $ US:X  a  T" T" U R                   5      5      $ [        S5      e)Nr   inv$Method must be either 'zig' or 'inv')r_   ro   )ra   rH   r7   r   r   dist_func_invr?   s       rA   rf   ;NumPyRandomGeneratorType_standard_exponential.<locals>.impl  sI    Yt'9'9:;;5]4+=+=>?? !GHHrC   c                 :  > [         R                  " XS9nUR                  nUS:X  a2  [        UR                  5       H  nT" U R
                  5      XV'   M     U$ US:X  a2  [        UR                  5       H  nT" U R
                  5      XV'   M     U$ [        S5      e)Nr   r   r   r   )r6   r   r   r   rH   r_   ro   )	ra   rH   r7   r   r   r   r   r   r   s	          rA   rf   r     s    ((4-CHHEsxxA(););<EH ) J 5sxxA,T-?-?@EH ) J !!GHHrC   )rQ   r   UnicodeTypestrrB   r   r   r   r   r2   r3   r4   r
   r6   r:   rI   )ra   rH   r7   r   rf   r   r   r?   s        @@@rA   -NumPyRandomGeneratorType_standard_exponentialr      s     **C0(;+)'M5 ((E(C(-/Iu $&&zz4 

5 	I 	I 4 

5 	 	 rC   standard_normalc                 ,  ^^ [        [        [        U5      u  mm[        U[        R
                  5      (       a  UR                  n[        U5      (       a  S [        R                  4UU4S jjnU$ [        U5        S [        R                  4U4S jjnU$ )Nc                 4   > T" T" U R                   5      5      $ r   r   r   s      rA   rf   6NumPyRandomGeneratorType_standard_normal.<locals>.impl/  r   rC   c                    > [         R                  " XS9nUR                  n[        UR                  5       H  nT" U R
                  5      XE'   M     U$ r   r   r   s         rA   rf   r   5  r   rC   )rB   r   r   r2   r   r3   r4   r
   r6   r:   rI   r   s       @@rA   (NumPyRandomGeneratorType_standard_normalr   &  sw    '(@(>(-/Iu $&&zz4 

 	8 	84 

 	 rC   standard_gammac                   ^^ [        U[        R                  [        R                  [        [
        /S5        [        [        [        U5      u  mm[        U[        R                  5      (       a  UR                  n[        U5      (       a  S [        R                  4UU4S jjnU$ [        U5        S [        R                  4U4S jjnU$ )Nshapec                 6   > T" T" U R                   U5      5      $ r   r   )ra   r   rH   r7   r   r?   s       rA   rf   5NumPyRandomGeneratorType_standard_gamma.<locals>.implJ  s    4#5#5u=>>rC   c                    > [         R                  " X#S9nUR                  n[        UR                  5       H  nT" U R
                  U5      XV'   M     U$ r   r   )ra   r   rH   r7   r   r   r   r   s          rA   rf   r   P  sE    ((4-CHHE388_$T%7%7? %JrC   )rQ   r   FloatrF   rk   floatrB   r   r   r2   r3   r4   r
   r6   r:   rI   )ra   r   rH   r7   rf   r   r?   s        @@rA   'NumPyRandomGeneratorType_standard_gammar   ?  s     U]]C?I'(?(=(-/Iu $&&zz4#'rzz 	? 	?4#'rzz 	 rC   normalc                 ~   [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        U5      (       a  SS jnU$ [        U5        SS jnU$ )Nlocscalec                 .    [        U R                  X5      $ r   )r   r_   ra   r   r   rH   s       rA   rf   -NumPyRandomGeneratorType_normal.<locals>.implc  s     !3!3S@@rC   c                     [         R                  " U[         R                  S9nUR                  n[	        UR
                  5       H  n[        U R                  X5      XV'   M     U$ r   )r6   r   r:   r   r   rH   r   r_   ra   r   r   rH   r   r   r   s          rA   rf   r   i  sJ    ((4rzz2CHHE388_(););SH %JrC   g              ?NrQ   r   r   rF   rk   r   r2   r3   r4   r
   rI   ra   r   r   rH   rf   s        rA   NumPyRandomGeneratorType_normalr   Z  s     ekk5==#u=uEU]]C?I$&&zz4	A4	 rC   uniformc                 ~   [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        U5      (       a  SS jnU$ [        U5        SS jnU$ )NrT   rU   c                 4    [        U R                  XU-
  5      $ r   )r   r_   )ra   rT   rU   rH   s       rA   rf   .NumPyRandomGeneratorType_uniform.<locals>.impl|  s    !$"4"4c#:FFrC   c                     [         R                  " U[         R                  S9nUR                  n[	        UR
                  5       H  n[        U R                  XU-
  5      XV'   M      U$ r   )r6   r   r:   r   r   rH   r   r_   )ra   rT   rU   rH   r   r   r   s          rA   rf   r     sN    ((4rzz2CHHE388_)$*<*<c#:N %JrC   r   r   )ra   rT   rU   rH   rf   s        rA    NumPyRandomGeneratorType_uniformr   s  s     ekk5==#u=uEu{{EMM3>G$&&zz4	G4	 rC   exponentialc                    [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        U5      (       a  SS jnU$ [        U5        SS jnU$ )Nr   c                 .    [        U R                  U5      $ r   )r   r_   ra   r   rH   s      rA   rf   2NumPyRandomGeneratorType_exponential.<locals>.impl  s    %d&8&8%@@rC   c                     [         R                  " U[         R                  S9nUR                  n[	        UR
                  5       H  n[        U R                  U5      XE'   M     U$ r   )r6   r   r:   r   r   rH   r   r_   ra   r   rH   r   r   r   s         rA   rf   r     sJ    ((4rzz2CHHE388_-d.@.@%H %JrC   r   Nr   ra   r   rH   rf   s       rA   $NumPyRandomGeneratorType_exponentialr     sc    U]]C?I$&&zz4	A4	 rC   gammac                 ~   [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        U5      (       a  SS jnU$ [        U5        SS jnU$ )Nr   r   c                 .    [        U R                  X5      $ r   )r   r_   )ra   r   r   rH   s       rA   rf   ,NumPyRandomGeneratorType_gamma.<locals>.impl  s     2 2EAArC   c                     [         R                  " U[         R                  S9nUR                  n[	        UR
                  5       H  n[        U R                  X5      XV'   M     U$ r   )r6   r   r:   r   r   rH   r   r_   )ra   r   r   rH   r   r   r   s          rA   rf   r     sJ    ((4rzz2CHHE388_'(:(:EI %JrC   r   r   )ra   r   r   rH   rf   s        rA   NumPyRandomGeneratorType_gammar     s    U]]C?IU]]C?I$&&zz4	B4	 rC   betac                 ~   [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        U5      (       a  SS jnU$ [        U5        SS jnU$ )Nabc                 .    [        U R                  X5      $ r   )r   r_   )ra   r   r   rH   s       rA   rf   +NumPyRandomGeneratorType_beta.<locals>.impl  s    t11188rC   c                     [         R                  " U5      nUR                  n[        UR                  5       H  n[        U R                  X5      XV'   M     U$ r   )r6   r   r   r   rH   r   r_   )ra   r   r   rH   r   r   r   s          rA   rf   r     sC    ((4.CHHE388_&t'9'91@ %JrC   r   r   )ra   r   r   rH   rf   s        rA   NumPyRandomGeneratorType_betar     s    EKKU;SAEKKU;SA$&&zz4	94	 rC   fc                 ~   [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        U5      (       a  SS jnU$ [        U5        SS jnU$ )Ndfnumdfdenc                 .    [        U R                  X5      $ r   )r   r_   )ra   r   r   rH   s       rA   rf   (NumPyRandomGeneratorType_f.<locals>.impl  s    D..==rC   c                     [         R                  " U5      nUR                  n[        UR                  5       H  n[        U R                  X5      XV'   M     U$ r   )r6   r   r   r   rH   r   r_   )ra   r   r   rH   r   r   r   s          rA   rf   r     sC    ((4.CHHE388_#D$6$6E %JrC   r   r   )ra   r   r   rH   rf   s        rA   NumPyRandomGeneratorType_fr     s    U]]C?IU]]C?I$&&zz4	>4	 rC   	chisquarec                    [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        U5      (       a  SS jnU$ [        U5        SS jnU$ )Ndfc                 .    [        U R                  U5      $ r   )r   r_   ra   r   rH   s      rA   rf   0NumPyRandomGeneratorType_chisquare.<locals>.impl  s    #D$6$6;;rC   c                     [         R                  " U5      nUR                  n[        UR                  5       H  n[        U R                  U5      XE'   M     U$ r   )r6   r   r   r   rH   r   r_   ra   r   rH   r   r   r   s         rA   rf   r     sC    ((4.CHHE388_+D,>,>C %JrC   r   r   ra   r   rH   rf   s       rA   "NumPyRandomGeneratorType_chisquarer    sb    U[[%--e<dC$&&zz4	<4	 rC   standard_cauchyc                     [        U[        R                  5      (       a  UR                  n[	        U5      (       a  SS jnU$ [        U5        SS jnU$ )Nc                 ,    [        U R                  5      $ r   )r   r_   )ra   rH   s     rA   rf   6NumPyRandomGeneratorType_standard_cauchy.<locals>.impl  s    )$*<*<==rC   c                     [         R                  " U5      nUR                  n[        UR                  5       H  n[        U R                  5      X4'   M     U$ r   )r6   r   r   r   rH   r   r_   )ra   rH   r   r   r   s        rA   rf   r    sA    ((4.CHHE388_1$2D2DE %JrC   r   )r2   r   r3   r4   r
   rI   )ra   rH   rf   s      rA   (NumPyRandomGeneratorType_standard_cauchyr
    sG     $&&zz4	>4	 rC   paretoc                    [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        U5      (       a  SS jnU$ [        U5        SS jnU$ )Nr   c                 .    [        U R                  U5      $ r   )r   r_   ra   r   rH   s      rA   rf   -NumPyRandomGeneratorType_pareto.<locals>.impl  s     !3!3Q77rC   c                     [         R                  " U5      nUR                  n[        UR                  5       H  n[        U R                  U5      XE'   M     U$ r   )r6   r   r   r   rH   r   r_   ra   r   rH   r   r   r   s         rA   rf   r  $  sC    ((4.CHHE388_(););Q? %JrC   r   r   ra   r   rH   rf   s       rA   NumPyRandomGeneratorType_paretor    sb    EKKU;SA$&&zz4	84	 rC   weibullc                    [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        U5      (       a  SS jnU$ [        U5        SS jnU$ )Nr   c                 .    [        U R                  U5      $ r   )r    r_   r  s      rA   rf   .NumPyRandomGeneratorType_weibull.<locals>.impl4  s    !$"4"4a88rC   c                     [         R                  " U5      nUR                  n[        UR                  5       H  n[        U R                  U5      XE'   M     U$ r   )r6   r   r   r   rH   r    r_   r  s         rA   rf   r  :  sC    ((4.CHHE388_)$*<*<a@ %JrC   r   r   r  s       rA    NumPyRandomGeneratorType_weibullr  -  sb    EKKU;SA$&&zz4	94	 rC   powerc                    [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        U5      (       a  SS jnU$ [        U5        SS jnU$ )Nr   c                 .    [        U R                  U5      $ r   )r   r_   r  s      rA   rf   ,NumPyRandomGeneratorType_power.<locals>.implJ  s     2 2A66rC   c                     [         R                  " U5      nUR                  n[        UR                  5       H  n[        U R                  U5      XE'   M     U$ r   )r6   r   r   r   rH   r   r_   r  s         rA   rf   r  P  sC    ((4.CHHE388_'(:(:A> %JrC   r   r   r  s       rA   NumPyRandomGeneratorType_powerr  C  sb    EKKU;SA$&&zz4	74	 rC   laplacec                 ~   [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        U5      (       a  SS jnU$ [        U5        SS jnU$ )Nr   r   c                 .    [        U R                  X5      $ r   )r!   r_   r   s       rA   rf   .NumPyRandomGeneratorType_laplace.<locals>.impla  s    !$"4"4cAArC   c                     [         R                  " U5      nUR                  n[        UR                  5       H  n[        U R                  X5      XV'   M     U$ r   )r6   r   r   r   rH   r!   r_   r   s          rA   rf   r#  g  sC    ((4.CHHE388_)$*<*<cI %JrC   r   r   r   s        rA    NumPyRandomGeneratorType_laplacer%  Y  s    ekk5==#u=uEU]]C?I$&&zz4	B4	 rC   logisticc                 ~   [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        U5      (       a  SS jnU$ [        U5        SS jnU$ )Nr   r   c                 .    [        U R                  X5      $ r   )r"   r_   r   s       rA   rf   /NumPyRandomGeneratorType_logistic.<locals>.implx  s    "4#5#5sBBrC   c                     [         R                  " U5      nUR                  n[        UR                  5       H  n[        U R                  X5      XV'   M     U$ r   )r6   r   r   r   rH   r"   r_   r   s          rA   rf   r)  ~  sC    ((4.CHHE388_*4+=+=sJ %JrC   r   r   r   s        rA   !NumPyRandomGeneratorType_logisticr+  p  s    ekk5==#u=uEU]]C?I$&&zz4	C4	 rC   	lognormalc                 ~   [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        U5      (       a  SS jnU$ [        U5        SS jnU$ )Nmeansigmac                 .    [        U R                  X5      $ r   )r#   r_   )ra   r.  r/  rH   s       rA   rf   0NumPyRandomGeneratorType_lognormal.<locals>.impl  s    #D$6$6DDrC   c                     [         R                  " U5      nUR                  n[        UR                  5       H  n[        U R                  X5      XV'   M     U$ r   )r6   r   r   r   rH   r#   r_   )ra   r.  r/  rH   r   r   r   s          rA   rf   r1    sC    ((4.CHHE388_+D,>,>L %JrC   r   r   )ra   r.  r/  rH   rf   s        rA   "NumPyRandomGeneratorType_lognormalr3    s    u{{EMM3>GU]]C?I$&&zz4	E4	 rC   rayleighc                    [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        U5      (       a  SS jnU$ [        U5        SS jnU$ )Nr   c                 .    [        U R                  U5      $ r   )r$   r_   r   s      rA   rf   /NumPyRandomGeneratorType_rayleigh.<locals>.impl  s    "4#5#5u==rC   c                     [         R                  " U5      nUR                  n[        UR                  5       H  n[        U R                  U5      XE'   M     U$ r   )r6   r   r   r   rH   r$   r_   r   s         rA   rf   r7    sC    ((4.CHHE388_*4+=+=uE %JrC   r   r   r   s       rA   !NumPyRandomGeneratorType_rayleighr9    sb    U]]C?I$&&zz4	>4	 rC   
standard_tc                    [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        U5      (       a  SS jnU$ [        U5        SS jnU$ )Nr   c                 .    [        U R                  U5      $ r   )r%   r_   r   s      rA   rf   1NumPyRandomGeneratorType_standard_t.<locals>.impl  s    $T%7%7<<rC   c                     [         R                  " U5      nUR                  n[        UR                  5       H  n[        U R                  U5      XE'   M     U$ r   )r6   r   r   r   rH   r%   r_   r  s         rA   rf   r=    sC    ((4.CHHE388_,T-?-?D %JrC   r   r   r  s       rA   #NumPyRandomGeneratorType_standard_tr?    sb    U[[%--e<dC$&&zz4	=4	 rC   waldc                 ~   [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        U5      (       a  SS jnU$ [        U5        SS jnU$ )Nr.  r   c                 .    [        U R                  X5      $ r   )r&   r_   )ra   r.  r   rH   s       rA   rf   +NumPyRandomGeneratorType_wald.<locals>.impl  s    t114??rC   c                     [         R                  " U5      nUR                  n[        UR                  5       H  n[        U R                  X5      XV'   M     U$ r   )r6   r   r   r   rH   r&   r_   )ra   r.  r   rH   r   r   r   s          rA   rf   rC    sC    ((4.CHHE388_&t'9'94G %JrC   r   r   )ra   r.  r   rH   rf   s        rA   NumPyRandomGeneratorType_waldrE    s    u{{EMM3>GU]]C?I$&&zz4	@4	 rC   	geometricc                    [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        U5      (       a  SS jnU$ [        U5        SS jnU$ )Npc                 V    [         R                  " [        U R                  U5      5      $ r   )r6   rt   r'   r_   )ra   rH  rH   s      rA   rf   0NumPyRandomGeneratorType_geometric.<locals>.impl  s    88,T-?-?CDDrC   c                     [         R                  " U[         R                  S9nUR                  n[	        UR
                  5       H  n[        U R                  U5      XE'   M     U$ r   )r6   r   rt   r   r   rH   r'   r_   )ra   rH  rH   r   r   r   s         rA   rf   rJ    sJ    ((4rxx0CHHE388_+D,>,>B %JrC   r   r   )ra   rH  rH   rf   s       rA   "NumPyRandomGeneratorType_geometricrL    sc    EKKU;SA$&&zz4	E4	 rC   zipfc                    [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        U5      (       a  SS jnU$ [        U5        SS jnU$ )Nr   c                 V    [         R                  " [        U R                  U5      5      $ r   )r6   rt   r(   r_   r  s      rA   rf   +NumPyRandomGeneratorType_zipf.<locals>.impl  s    88K(:(:A>??rC   c                     [         R                  " U[         R                  S9nUR                  n[	        UR
                  5       H  n[        U R                  U5      XE'   M     U$ r   )r6   r   rt   r   r   rH   r(   r_   r  s         rA   rf   rP    sJ    ((4rxx0CHHE388_&t'9'91= %JrC   r   r   r  s       rA   NumPyRandomGeneratorType_zipfrR    sc    EKKU;SA$&&zz4	@4	 rC   
triangularc                    [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        U5      (       a  SS jnU$ [        U5        SS jnU$ )Nleftmoderightc                 0    [        U R                  XU5      $ r   )r)   r_   )ra   rU  rV  rW  rH   s        rA   rf   1NumPyRandomGeneratorType_triangular.<locals>.impl  s    $T%7%7UKKrC   c                     [         R                  " U5      nUR                  n[        UR                  5       H  n[        U R                  XU5      Xg'   M     U$ r   )r6   r   r   r   rH   r)   r_   )ra   rU  rV  rW  rH   r   r   r   s           rA   rf   rY    sK    ((4.CHHE388_,T-?-?-1@ % JrC   r   r   )ra   rU  rV  rW  rH   rf   s         rA   #NumPyRandomGeneratorType_triangularr[    s    u{{EMM3>Gu{{EMM3>GU]]C?I$&&zz4	L4	 rC   poissonc                    [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        U5      (       a  SS jnU$ [        U5        SS jnU$ )Nlamc                 V    [         R                  " [        U R                  U5      5      $ r   )r6   rt   r*   r_   )ra   r^  rH   s      rA   rf   .NumPyRandomGeneratorType_poisson.<locals>.impl-  s    88N4+=+=sCDDrC   c                     [         R                  " U[         R                  S9nUR                  n[	        UR
                  5       H  n[        U R                  U5      XE'   M     U$ r   )r6   r   rt   r   r   rH   r*   r_   )ra   r^  rH   r   r   r   s         rA   rf   r`  3  sJ    ((4rxx0CHHE388_)$*<*<cB %JrC   r   r   )ra   r^  rH   rf   s       rA    NumPyRandomGeneratorType_poissonrb  &  sc    ekk5==#u=uE$&&zz4	E4	 rC   negative_binomialc                 ~   [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        U5      (       a  SS jnU$ [        U5        SS jnU$ )NnrH  c                 V    [         R                  " [        U R                  X5      5      $ r   )r6   rt   r+   r_   ra   re  rH  rH   s       rA   rf   8NumPyRandomGeneratorType_negative_binomial.<locals>.implD  s    884T5G5GNOOrC   c                     [         R                  " U[         R                  S9nUR                  n[	        UR
                  5       H  n[        U R                  X5      XV'   M     U$ r   )r6   r   rt   r   r   rH   r+   r_   )ra   re  rH  rH   r   r   r   s          rA   rf   rh  J  sJ    ((4rxx0CHHE388_3D4F4FM %JrC   r   r   ra   re  rH  rH   rf   s        rA   *NumPyRandomGeneratorType_negative_binomialrk  <  s    EKKU;SAEKKU;SA$&&zz4	P4	 rC   noncentral_chisquarec                   ^ [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        S 5       m[        U5      (       a
  SU4S jjnU$ [        U5        SU4S jjnU$ )Nr   noncc                 H    U S::  a  [        S5      eUS:  a  [        S5      eg )Nr   zdf <= 0nonc < 0ro   )r   rn  s     rA   check_arg_boundsGNumPyRandomGeneratorType_noncentral_chisquare.<locals>.check_arg_boundsZ  s+    7Y''!8Z(( rC   c                 h   > T" X5        [         R                  " [        U R                  X5      5      $ r   )r6   r:   r-   r_   )ra   r   rn  rH   rr  s       rA   rf   ;NumPyRandomGeneratorType_noncentral_chisquare.<locals>.implb  s2    R&::9$:L:L:<D E ErC   c                    > T" X5        [         R                  " U[         R                  S9nUR                  n[	        UR
                  5       H  n[        U R                  X5      XV'   M     U$ r   )r6   r   r:   r   r   rH   r-   r_   )ra   r   rn  rH   r   r   r   rr  s          rA   rf   ru  j  sY    R&((4rzz2CHHE388_6t7I7I79A % JrC   r   rQ   r   r   rF   rk   r   r2   r3   r4   r   r
   rI   )ra   r   rn  rH   rf   rr  s        @rA   -NumPyRandomGeneratorType_noncentral_chisquarerx  S  s    U[[%--e<dCu{{EMM3>G$&&zz) ) 4	E 4	 rC   noncentral_fc                   ^ [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        S 5       m[        U5      (       a
  SU4S jjnU$ [        U5        SU4S jjnU$ )Nr   r   rn  c                 j    U S::  a  [        S5      eUS::  a  [        S5      eUS:  a  [        S5      eg )Nr   z
dfnum <= 0z
dfden <= 0rp  rq  )r   r   rn  s      rA   rr  ?NumPyRandomGeneratorType_noncentral_f.<locals>.check_arg_bounds}  s=    A:\**A:\**!8Z(( rC   c                 l   > T" XU5        [         R                  " [        U R                  XU5      5      $ r   )r6   r:   r.   r_   )ra   r   r   rn  rH   rr  s        rA   rf   3NumPyRandomGeneratorType_noncentral_f.<locals>.impl  s6    U40::1$2D2D27F G GrC   c                    > T" XU5        [         R                  " U[         R                  S9nUR                  n[	        UR
                  5       H  n[        U R                  XU5      Xg'   M     U$ r   )r6   r   r:   r   r   rH   r.   r_   )	ra   r   r   rn  rH   r   r   r   rr  s	           rA   rf   r~    s]    U40((4rzz2CHHE388_.t/A/A/4TC % JrC   r   rw  )ra   r   r   rn  rH   rf   rr  s         @rA   %NumPyRandomGeneratorType_noncentral_fr  u  s    U]]C?IU]]C?Iu{{EMM3>G$&&zz) ) 4	G 4	 rC   	logseriesc                 :  ^ [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        S 5       m[        U5      (       a
  SU4S jjnU$ [        U5        SU4S jjnU$ )NrH  c                 h    U S:  d!  U S:  d  [         R                  " U 5      (       a  [        S5      eg )Nr   r\   zp < 0, p >= 1 or p is NaN)r6   isnanro   )rH  s    rA   rr  <NumPyRandomGeneratorType_logseries.<locals>.check_arg_bounds  s,    q5AFbhhqkk899 *rC   c                 h   > T" U5        [         R                  " [        U R                  U5      5      $ r   )r6   rt   r,   r_   )ra   rH  rH   rr  s      rA   rf   0NumPyRandomGeneratorType_logseries.<locals>.impl  s(    Q88,T-?-?CDDrC   c                    > T" U5        [         R                  " U[         R                  S9nUR                  n[	        UR
                  5       H  n[        U R                  U5      XE'   M     U$ r   )r6   r   rt   r   r   rH   r,   r_   )ra   rH  rH   r   r   r   rr  s         rA   rf   r    sS    Q((4rxx0CHHE388_+D,>,>B %JrC   r   rw  )ra   rH  rH   rf   rr  s       @rA   "NumPyRandomGeneratorType_logseriesr    sz    EKKU;SA$&&zz: : 4	E 4	 rC   binomialc                 ~   [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  [        R                  [        [
        /S5        [        U[        R                  5      (       a  UR                  n[        U5      (       a  SS jnU$ [        U5        SS jnU$ )Nre  rH  c                 V    [         R                  " [        U R                  X5      5      $ r   )r6   rt   r/   r_   rg  s       rA   rf   /NumPyRandomGeneratorType_binomial.<locals>.impl  s    88OD,>,>EFFrC   c                     [         R                  " U[         R                  S9n[         R                  " U5       H  n[	        U R
                  X5      XE'   M     U$ r   )r6   r   rt   ndindexr/   r_   )ra   re  rH  rH   r   r   s         rA   rf   r    sB    ((4rxx0CZZ%(););QB &JrC   r   r   rj  s        rA   !NumPyRandomGeneratorType_binomialr    s    EKKU;SAEKKU;SA$&&zz4	G4	
 rC   )z	the givenr   r   r   r   )`__doc__numpyr6   
numba.corer   numba.core.extendingr   r   numba.np.numpy_supportr   r   numba.np.random.generator_corer   r	   r
   numba.core.errorsr   numba.core.types.containersr   r   numba.np.random.distributionsr   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/   numba.np.randomr0   rB   rI   rQ   NumPyRandomGeneratorTypert   rw   r   r   r:   r   r   r   r   r   r   r   r   r   r   r  r
  r  r  r  r%  r+  r3  r9  r?  rE  rL  rR  r[  rb  rk  rx  r  r  r   rC   rA   <module>r     s     B 7 B . ) 7H H H H H H H H H +>P=" //<<@,.HHuP =Pn //; <8 //? @( //:/32::  ;. //1GH=A8:

9>) I)Z //1BC8<BJJ  D0 //1AB>B24** C4 //:9<)- ;0 //;9<*. <0 //? @, //9 :. //8 9. //5 6. //= >* //1BC D* //: ;* //; <* //9 :* //; <, //< =, //= >, //< =* //> ?* //8 9, //= >* //8 9* //> ?0 //; <* //1DE F, //1GH IB //@! A!H //= >8 //< =rC   