+
    :is>                       R t ^ RIt^ RIt^ RIt^ RIHt ^ RIHtH	t	 ^ RI
HtHtHt ^ RIHt ^ RIHt ^ RIHtHt ^ RIHt ^ R	IHt ]! R
4      t]P4                  t]P6                  ! ^ 4      t]P6                  ! ^@4      tR t]P>                  ! 4       t Rt!]PD                  ! ]]!4      t#]PH                  ! ]]PJ                  ! ]]!4      ]] ].4      t&]PN                  ! ]&4      t(R t)R t*R t+R t,R t-R t.R t/R t0R t1R t2R t3R t4]! ]Pj                  4      R 4       t6]! ]P                  Pj                  4      R 4       t6R t7]! ]P                  4      R 4       t8]! ]P                  P                  4      ]! ]P                  Pr                  4      ]! ]P                  Pt                  4      ]! ]P                  Pv                  4      R 4       4       4       4       t<]! ]P                  P                  4      ]! ]P                  Pr                  4      ]! ]P                  Pt                  4      ]! ]P                  Pv                  4      RR l4       4       4       4       t=]! ]P|                  4      ]! ]P~                  4      R 4       4       t@]! ]P                  P                  4      ]! ]P                  P                  4      R  4       4       tC]! ]P                  P                  4      R! 4       tD]! ]P                  P                  4      R" 4       tE]! ]P                  P                  4      R# 4       tF]! ]P                  P                  4      R$ 4       tGR% tHR& tIR' tJ]! ]P                  4      R( 4       tLR) tM]! ]P                  4      R* 4       tO]! ]P                  4      R+ 4       tPR, tQ]! ]P                  4      R- 4       tR]! ]P                  4      R. 4       tT]! ]P                  P                  4      R/ 4       tU]! ]P                  P                  4      R0 4       tV]! ]P                  P                  4      R1 4       tW]! ]P                  P                  4      R2 4       tY]! ]P                  4      R3 4       tZ]! ]P                  P                  4      R4 4       t[R5 t\]! ]P                  P                  4      R6 4       t]]! ]P                  4      R7 4       t_]! ]P                  4      R8 4       t`]! ]P                  P                  4      R9 4       t`]! ]P                  P                  4      RR: l4       ta]! ]P                  4      R; 4       tc]! ]P                  P                  4      ]! ]P                  P                  4      R< 4       4       tf]! ]P                  P                  4      R= 4       tgR> th]! ]P                  P                  4      R? 4       ti]! ]P                  P                  4      R@ 4       tj]! ]P                  4      RA 4       tl]! ]P                  P                  4      RB 4       tnRC to]! ]P                  P                  4      RD 4       tp]! ]P                  4      RE 4       tr]! ]P                  P                  4      RF 4       tt]! ]P                  P                  4      RG 4       tt]! ]P                  P                  4      ]! ]P                  P                  4      RH 4       4       tt]! ]P                  P                  4      RI 4       tv]! ]P                  P                  4      RJ 4       tx]! ]P                  P                  4      RK 4       ty]! ]P                  P                  4      RL 4       tz]! ]P                  P                  4      RM 4       t{]! ]P                  4      RN 4       t}RO t~]! ]P                  4      RP 4       t]! ]P                  EP                  4      RQ 4       t]! ]P                  EP                  4      RR 4       t]! ]EP                  4      RS 4       t]! ]P                  EP
                  4      RT 4       t]! ]P                  EP
                  4      RU 4       t]! ]EP                  4      RV 4       t]! ]P                  EP                  4      RW 4       tRX t]! ]P                  EP                  4      RY 4       t]! ]P                  EP                  4      RZ 4       t]! ]P                  EP                  4      R[ 4       t]! ]P                  EP                  4      R\ 4       t]! ]P                  EP                  4      R] 4       t]! ]P                  EP$                  4      R^ 4       t]! ]P                  EP$                  4      R_ 4       t]! ]P                  EP(                  4      R` 4       t]! ]P                  EP(                  4      Ra 4       t]! ]P                  EP,                  4      Rb 4       t]! ]P                  EP,                  4      Rc 4       t]! ]P                  EP2                  4      Rd 4       t]! ]P                  EP2                  4      Re 4       t]! ]P                  EP6                  4      Rf 4       t]! ]P                  EP6                  4      Rg 4       t]! ]P                  EP6                  4      Rh 4       t]! ]P                  EP6                  4      Ri 4       tRj t]! ]P                  EPB                  4      Rk 4       t]! ]P                  EPB                  4      Rl 4       t]! ]P                  EPB                  4      Rm 4       t]! ]P                  EPB                  4      Rn 4       tRo tRp t]! ]P                  EPP                  4      Rq 4       t]! ]P                  EPP                  4      Rr 4       t]! ]P                  EPT                  4      Rs 4       t]! ]P                  EPX                  4      Rt 4       t]! ]P                  EPX                  4      Ru 4       t]! ]P                  EPX                  4      Rv 4       t]! ]P                  EP`                  4      Rw 4       t]! ]P                  EP`                  4      Rx 4       t]! ]P                  EPd                  4      Ry 4       t]! ]P                  EPd                  4      Rz 4       t]! ]P                  EPd                  4      R{ 4       t]! ]P                  EPl                  4      R| 4       t]! ]P                  EPl                  4      R} 4       t]! ]P                  EPr                  4      R~ 4       t]! ]P                  EPr                  4      R 4       t]! ]P                  EPx                  4      R 4       t]! ]P                  EPx                  4      R 4       t]! ]P                  EP~                  4      R 4       t]! ]P                  EP~                  4      R 4       tR t]! ]EP                  4      R 4       t]! ]P                  EP                  4      R 4       t]! ]P                  EP                  4      R 4       t]! ]P                  EP                  4      R 4       t]! ]P                  EP                  4      R 4       t]! ]P                  EP                  4      RR l4       t]! ]P                  EP                  4      RR l4       t]! ]P                  EP                  4      R 4       t]! ]P                  EP                  4      RR l4       t]R 4       t]! ]P                  EP                  4      R 4       t]! ]P                  EP                  4      RR l4       t]R 4       t]R 4       tR# )z6
Implement the random and np.random module functions.
N)ir)is_nonelikeis_empty_tuple)	intrinsicoverloadregister_jitable)Registry	signature)typescgutils)NumbaTypeError)LONG_MAX
randomimplc                 8    \         P                  ! \        V 4      # N)r   Constantint32_txs   &V/var/www/html/photoedit/myenv/lib/python3.14/site-packages/numba/cpython/randomimpl.py	const_intr      s    ;;w""    ip  c                .   VR9   g   Q hRV,          p\         P                  ! \        R4      p\        P                  ! VP
                  WC4      pVP                  P                  R4       VP                  P                  R4       VP                  VR4      # )z
Get a pointer to the given thread-local random state
(depending on *name*: "py" or "np").
If the state isn't initialized, it is lazily initialized with
system entropy.
znumba_get_%s_random_statereadnonenounwind)pynpinternal )	r   FunctionTypernd_state_ptr_tr   get_or_insert_functionmodule
attributesaddcall)contextbuildername	func_namefntyfns   &&&   r   get_state_ptrr-   2   sz     +++++d2I???B/D		'	'	HB MMj!MMj!<<Br   c                    \        WR4      # )z8
Get a pointer to the thread-local Python random state.
r   r-   r'   r(   s   &&r   get_py_state_ptrr1   C        400r   c                    \        WR4      # )z7
Get a pointer to the thread-local Numpy random state.
r   r/   r0   s   &&r   get_np_state_ptrr4   I   r2   r   c                    \        WR4      # )z:
Get a pointer to the thread-local internal random state.
r   r/   r0   s   &&r   get_internal_state_ptrr6   O   s     :66r   c                 2    \         P                  ! W^ ^ 4      #     r   gep_inboundsr(   	state_ptrs   &&r   get_index_ptrr>   V       Aq99r   c                 2    \         P                  ! W^ ^4      # r8   r:   r<   s   &&r   get_array_ptrrA   Y   r?   r   c                 2    \         P                  ! W^ ^4      # r8   r:   r<   s   &&r   get_has_gauss_ptrrC   \   r?   r   c                 2    \         P                  ! W^ ^4      # r8   r:   r<   s   &&r   get_gauss_ptrrE   _   r?   r   c                    \         P                  ! \         P                  ! 4       \        34      p\        P
                  ! V P                  P                  VR4      pVP                  ^ ,          P                  R4       V# )z4
Get the internal function to shuffle the MT taste.
numba_rnd_shuffle	nocapture)
r   r    VoidTyper!   r   r"   functionr#   argsadd_attribute)r(   r+   r,   s   &  r   get_rnd_shufflerM   b   s[     ??2;;=?*<=D		'	'(8(8(?(?(;
=BGGAJ[)Ir   c                   \        W4      pVP                  V4      pVP                  RV\        4      p\        P
                  ! W4      ;_uu_ 4        \        V4      pVP                  Wb34       VP                  \        ^ 4      V4       RRR4       VP                  V4      p\        W4      pVP                  \        P                  ! W^ V4      4      pVP                  V\        ^4      4      pVP                  WC4       VP                  WP                  V\        ^4      4      4      pVP                  WP                  VP!                  V\        ^4      4      \        R4      4      4      pVP                  WP                  VP!                  V\        ^4      4      \        R4      4      4      pVP                  WP                  V\        ^4      4      4      pV#   + '       g   i     EL\; i)z:
Get the next int32 generated by the PRNG at *state_ptr*.
>=Nl   VX: l     _ )r>   loadicmp_unsignedN_constr   if_unlikelyrM   r&   storer   rA   r;   r%   xorlshrand_shl)	r'   r(   r=   idxptridxneed_reshuffler,   	array_ptrys	   &&&      r   get_next_int32r^   m   sv    7.F
,,v
C**4g>N			W	5	5W%R&ilF+ 
6 ,,v
Cg1IW))'aEFA
++c9Q<
(CMM#A||Ay}56AA||GKK9Q<$@$-j$9; 	<AA||GKK9R=$A$-j$9; 	<AA||Ay}56AH! 
6	5	5s   9GG/	c                   VP                  \        WV4      \        ^4      4      pVP                  \        WV4      \        ^4      4      pVP                  V\        4      pVP                  V\        4      pVP                  VP                  WAP                  V\        P                  ! \        R4      4      4      \        P                  ! \        R4      4      # )z;
Get the next double generated by the PRNG at *state_ptr*.
g      Ag      @C)
rV   r^   r   uitofpdoublefdivfaddfmulr   r   )r'   r(   r=   abs   &&&  r   get_next_doublerg      s    
 	^Gi@)A,OA^Gi@)A,OA 	q&!Aq&!A<<QQFJ(GHI
F./1 1r   c                  a aaaa \         P                  ! VP                  ^ 4      oVVV VV3R lp\        P                  ! S\         P                  ! \
        ^ 4      4      pSP                  RVS4      pSP                  V4      ;_uu_ 4       w  rV;_uu_ 4        V! V4      p
SP                  SP                  V
\
        4      V4       RRR4       T	;_uu_ 4        S'       d   V! SP                  VS4      4      p\        S SS4      p
S'       g   V! SP                  VS4      4      pSP                  SP                  V
\
        4      SP                  SP                  X\
        4      \         P                  ! \
        ^ 4      4      4      pSP                  W4       RRR4       RRR4       SP                  V4      #   + '       g   i     L; i  + '       g   i     L<; i  + '       g   i     LG; i)z*
Get the next integer with width *nbits*.
c                 B  < SP                  SV 4      p\        SSS4      pV P                  P                  VP                  P                  8  d   SP	                  WP                  4      pMJV P                  P                  VP                  P                  8  d   SP                  WP                  4      pS'       dS   SP                  \        P                  ! VP                  ^ 4      4      pSP                  W14      pSP                  W#4      # SP                  W!4      # r8   )subr^   typewidthzexttruncnot_r   r   rV   rW   )	nbitsshiftr]   maskr(   c32r'   is_numpyr=   s	   &   r   get_shifted_int%get_next_int.<locals>.get_shifted_int   s    C'7GY7 ::affll*LL/EZZ,MM%0E<<AFFA 67D<<,D<<(( <<))r   <=N)r   r   rk   r   alloca_once_valueint64_trQ   if_elserT   rm   rj   r^   r%   rX   rP   )r'   r(   r=   rp   rt   ru   retis_32bifsmalliflargelowhightotalrs   s   fff&f        @r   get_next_intr      sa    ++ejj"
%C* *& 
#
#GR[[!-D
EC""44F		 	 $6WW!%(CMM',,sG4c:  W&w{{5#'>? '9=C&w{{5#'>?KKS'*GLLw7KK467E MM%% 	 
!& <<% W W	 
!	 s=   G$/F>		G$CG	G$>G	G$G!G$$G4	c                    a \        V \        P                  4      '       d   \        \	        R 4      4      oV3R lpV# R# )r   c                    < S! V 4      # r   r   )re   r,   s   &r   implseed_impl.<locals>.impl   s    a5Lr   N)
isinstancer   Integerr   
_seed_impl)re   r   r,   s   & @r   	seed_implr      s2    !U]]##j./		 $r   c                 \    \        V \        P                  4      '       d   \        R 4      # R# )r   N)r   r   r   r   )seeds   &r   r   r      s#    $&&$ 'r   c                 0   a a \         V 3R  l4       oV3R l# )c                 d   < V3R  lp\        \        P                  \        P                  4      V3# )c                 H  < Vw  p\         P                  ! \         P                  ! 4       \        \        34      p\
        P                  ! VP                  P                  VR 4      pVP                  V\        WS4      V34       V P                  \        P                  R4      # )numba_rnd_initN)r   r    rI   r!   r   r   r"   rJ   r#   r&   r-   get_constantr   none)r'   r(   sigrK   
seed_valuer+   r,   
state_types   &&&&   r   codegen*_seed_impl.<locals>._impl.<locals>.codegen   s    KJ??2;;=?G2LMD//0@0@0G0G0@BBLLmGjI(* +''

D99r   )r
   r   voiduint32)typingcontextr   r   r   s   && r   _impl_seed_impl.<locals>._impl   s$    	: U\\2G;;r   c                    < S! V 4      # r   r   )r   r   s   &r   <lambda>_seed_impl.<locals>.<lambda>   s	    dr   r   )r   r   s   f@r   r   r      s    	< 	< $#r   c                  (   a  \         R  4       o V 3R l# )c                 >    R  p\        \        P                  4      V3# )c                 2    \        WR 4      p\        WV4      # r   r-   rg   r'   r(   r   rK   r=   s   &&&& r   r   +random_impl.<locals>._impl.<locals>.codegen       %g=I"7Y??r   )r
   r   ra   r   r   s   & r   r   random_impl.<locals>._impl   s    	@ &//r   c                     < S ! 4       # r   r   r   s   r   r   random_impl.<locals>.<lambda>       57r   r   r   s   @r   random_implr      s    0 0
 r   c                  (   a  \         R  4       o V 3R l# )c                 >    R  p\        \        P                  4      V3# )c                 2    \        WR 4      p\        WV4      # r   r   r   s   &&&& r   r   ,random_impl0.<locals>._impl.<locals>.codegen   r   r   )r
   r   float64r   s   & r   r   random_impl0.<locals>._impl   s    	@ '00r   c                     < S ! 4       # r   r   r   s   r   r   random_impl0.<locals>.<lambda>   r   r   r   r   s   @r   random_impl0r      s    
 1 1
 r   c                 D   \        V 4      '       d   RR l# \        V 4      '       d   RR l# \        V \        P                  4      '       gK   \        V \        P
                  4      '       d4   \        V P                  \        P                  4      '       d   RR lpV# R # R # )Nc                 >    \         P                  P                  4       # r   r   randomsizes   &r   r   random_impl1.<locals>.<lambda>  s    !1!1!3r   c                 f    \         P                  ! \         P                  P                  4       4      # r   )r   arrayr   r   s   &r   r   r     s    "))*:*:*<!=r   c                     \         P                  ! V 4      pVP                  p\        VP                  4       F#  p\         P
                  P                  4       W#&   K%  	  V# r   )r   emptyflatranger   r   r   outout_flatrZ   s   &   r   r   random_impl1.<locals>._impl
  sC    ((4.CxxHSXX "		 0 0 2 'Jr   r   r   r   r   r   r   UniTupledtyper   r   s   & r   random_impl1r      s{    
 433d==$&&:dENN+K+K/9$**:?--0I 0I	 0I ,Lr   c                    a \        V \        P                  \        P                  34      '       dE   \        V\        P                  \        P                  34      '       d   \        R  4       oV3R l# R# R# )c                 z    \        V4      p\        V4      p\        \        P                  W4      \	        R W44      3# r   _double_preprocessorr
   r   r   _gauss_impl)r   musigmaloc_preprocessorscale_preprocessors   &&&  r   r   gauss_impl.<locals>._impl  s=    3B7!5e!<U]]B6t%5JK Kr   c                    < S! W4      # r   r   r   r   r   s   &&r   r   gauss_impl.<locals>.<lambda>  s
    r!1r   Nr   r   Floatr   r   r   s   &&@r   
gauss_implr     sa     "u{{EMM233
EKK/91 91		K 
	K
 21913r   c                      R  # )c                  B    \         P                  P                  R R4      #               ?r   r   normalr   r   r   r    np_gauss_impl0.<locals>.<lambda>$  s    299##C-r   r   r   r   r   np_gauss_impl0r   !  s
     .-r   c                 l    \        V \        P                  \        P                  34      '       d   R  # R# )c                 B    \         P                  P                  V R 4      # r   r   locs   &r   r    np_gauss_impl1.<locals>.<lambda>*  s    299++C5r   Nr   r   r   r   r   s   &r   np_gauss_impl1r   '  s'    #U]]34455 5r   c                    a \        V \        P                  \        P                  34      '       dE   \        V\        P                  \        P                  34      '       d   \        R  4       oV3R l# R# R# )c                 z    \        V4      p\        V4      p\        \        P                  W4      \	        R W44      3# r   r   )r   r   scaler   r   s   &&&  r   r   np_gauss_impl2.<locals>._impl1  s=    3C8!5e!<U]]C7t%5JK Kr   c                    < S! W4      # r   r   r   r   r   s   &&r   r    np_gauss_impl2.<locals>.<lambda>7  s
    %"3r   Nr   r   s   &&@r   np_gauss_impl2r   -  s_    #U]]344EKK/:1 :1		K 
	K
 43:14r   c                 8   \        V 4      '       d   R  # \        V 4      '       d   R # \        V \        P                  4      '       gK   \        V \        P
                  4      '       d2   \        V P                  \        P                  4      '       d   R pV# R# R# )c                 >    \         P                  P                  4       # r   r   r   standard_normalr   s   &r   r   'standard_normal_impl1.<locals>.<lambda>=      BII557r   c                 f    \         P                  ! \         P                  P                  4       4      # r   )r   r   r   r   r   s   &r   r   r   @      BHHRYY%>%>%@Ar   c                     \         P                  ! V 4      pVP                  p\        VP                  4       F#  p\         P
                  P                  4       W#&   K%  	  V# r   )r   r   r   r   r   r   r   r   s   &   r   r   $standard_normal_impl1.<locals>._implD  C    ((4.CxxHSXX "		 9 9 ; 'Jr   Nr   r   s   & r   standard_normal_impl1r  :  sy    477dAA$&&:dENN+K+K+5djj6;mm,E ,E	 ,E ,Lr   c                    \        V \        P                  \        P                  34      '       dE   \        V\        P                  \        P                  34      '       d   \	        V4      '       d   R  # \        V \        P                  \        P                  34      '       dE   \        V\        P                  \        P                  34      '       d   \        V4      '       d   R # \        V \        P                  \        P                  34      '       d   \        V\        P                  \        P                  34      '       dt   \        V\        P                  4      '       gK   \        V\        P                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# R# R# )c                 @    \         P                  P                  W4      # r   r   r   r   r   s   &&&r   r    np_gauss_impl3.<locals>.<lambda>R      		(8(8(Dr   c                 h    \         P                  ! \         P                  P                  W4      4      # r   )r   r   r   r   r  s   &&&r   r   r  W      1A1A#1M(Nr   c                     \         P                  ! V4      pVP                  p\        VP                  4       F$  p\         P
                  P                  W4      WE&   K&  	  V# r   )r   r   r   r   r   r   r   r   r   r   r   r   rZ   s   &&&   r   r   np_gauss_impl3.<locals>._impl]  E    ((4.CxxHSXX "		 0 0 < 'Jr   Nr   r   r   r   r   r   r   r   r   r   r   r   s   &&& r   np_gauss_impl3r  M  s)   3emm455*EKK/;1 ;14DD3emm455*EKK/;1 ;1dNN3emm455*EKK/;1 ;14''JtU^^,L,L0:4::;@==1J 1J	 1J -M;15r   c                    a  V 3R  lpV# )c                 :  <  RS! 4       ,          R,
          p RS! 4       ,          R,
          pW ,          W,          ,           pVR8  g   KI  VR8w  g   KR   \         P                  ! R\         P                  ! T4      ,          T,          4      pY0,          Y1,          3# )z7
Compute a pair of numbers on the normal distribution.
       @r   r          )mathsqrtlog)x1x2r2f_randoms       r   compute_gauss_pair,_gauss_pair_impl.<locals>.compute_gauss_pairg  su     wy3&Bwy3&BBCxB#I IIdTXXb\)B./vqv~r   r   )r  r  s   f r   _gauss_pair_implr!  f  s     r   c                    a aa VVV 3R  lpV# )c                   < VP                   pV P                  V4      pR \        P                  R\        P                  P                  /S,          p\	        WS4      p\
        P                  ! WRR7      p\        W4      p	\        W4      p
\
        P                  ! WP                  V
4      4      pVP                  V4      ;_uu_ 4       w  rV;_uu_ 4        VP                  VP                  V	4      V4       VP                  \        ^ 4      V
4       RRR4       V;_uu_ 4        V P                  V\        V4      \!        \"        P$                  ! V^4      4      R4      p\
        P&                  ! W^4      w  ppVP                  W4       VP                  VV4       VP                  \        ^4      V
4       RRR4       RRR4       Vw  ppVP)                  S! VV4      VP+                  S! VV4      VP                  V4      4      4      #   + '       g   i     EL; i  + '       g   i     Lp; i  + '       g   i     L{; i)r   r   resultr)   Nr   )return_typeget_data_typer   r   r-   r   alloca_oncerE   rC   is_truerP   rz   rT   r   compile_internalr!  r
   r   r   unpack_tuplerc   rd   )r'   r(   r   rK   tylltyr  r=   r{   	gauss_ptrhas_gauss_ptr	has_gaussthen	otherwisepairfirstsecondr   r   r   r   states   &&&&               r   r   _gauss_impl.<locals>._imply  s   __$$R())++02 "'E:	!!'h?!'5	)'=OOG\\--HI	__Y''+<Dgll95s;ilM:   //0@0I09%..Q:O0P024
 !( 4 4WA Fve/fc*ilM:  ($ 	E||,Wb9#LL);GU)K)0c):<= 	=%   ('s=   
H5=H	H5&BH"	:H5H	H5"H2-H55I	r   )r6  r   r   r   s   fff r   r   r   x  s    #=H Lr   c                 T  a \         P                  P                  4       o\        V \        P                  4      '       d   V P
                  '       d   V3R  l# V3R l# \        V \        P                  4      '       d   V P                  ^@8w  d   V3R l# R # \        RV ,          4      h)c                 (   < V P                  VS4      # r   )sitofpr(   vr,  s   &&r   r   &_double_preprocessor.<locals>.<lambda>      gnnQ&;r   c                 (   < V P                  VS4      # r   )r`   r;  s   &&r   r   r=    r>  r   c                 (   < V P                  VS4      # r   )fpextr;  s   &&r   r   r=    s    gmmAr&:r   c                     V# r   r   )_builderr<  s   &&r   r   r=    s    qr   z(Cannot convert {} to floating point type)	r   r   
DoubleTyper   r   signedr   bitwidthr   )valuer,  s   &@r   r   r     su    				B%''<<<;;;;	E5;;	'	'>>R::((G%OPPr   c                 l   a \        V \        P                  4      '       d   \        R  4       oV3R l# R# )c                 @    R  p\        \        P                  V4      V3# )c                    Vw  pVP                  R V\        ^A4      4      pVP                  RV\        ^ 4      4      p\        P                  ! WP	                  VV4      4      ;_uu_ 4        RpV P
                  P                  V\        V34       RRR4       \        WR4      p\        WWR4      #   + '       g   i     L); i)rO   ==z getrandbits() limited to 64 bitsNr   F)
rQ   r   r   rS   or_	call_convreturn_user_excOverflowErrorr-   r   )	r'   r(   r   rK   rp   	too_large	too_smallmsgr=   s	   &&&&     r   r   0getrandbits_impl.<locals>._impl.<locals>.codegen  s    #11$y}M	#11$y|L	((++i>G3I J J<C%%55g}7:f>J
 *'DA	#GiNNJ Js   +%B11C	)r
   r   uint64)r   kr   s   && r   r   getrandbits_impl.<locals>._impl  s     O U\\1-w66r   c                    < S! V 4      # r   r   rU  r   s   &r   r   "getrandbits_impl.<locals>.<lambda>  s	    qr   N)r   r   r   r   rX  s   &@r   getrandbits_implrZ    s3    !U]]##		7 
	7 "!! $r   c           	      b  a aaaaaaa \        S SS4      o\        P                  ! S^ 4      p\        P                  ! S^4      p	\        P                  ! SSRR7      p
SP                  SP                  W24      V
4       SP                  SP                  RWH4      4      ;_uu_ 4        SP                  SP                  SP                  V
4      V4      V	4      pSP                  W4      oSP                  SV
4       RRR4       SP                  SP                  RWI4      4      ;_uu_ 4        SP                  SP                  SP                  V
4      V4      V	4      pSP                  W4      oSP                  SV
4       RRR4       SP                  V
4      o\        P                  ! SSP                  RSV4      4      ;_uu_ 4        RpS P                  P                  S\        V34       RRR4       \        P                   ! SS\        P"                  P$                  .4      p\        P&                  ! SP(                  P*                  VRS,          4      pSR	8X  d   SP                  SV	4      MSpSP-                  SP/                  W\        P"                  .4      \0        4      oSP                  \        P                  ! \0        SP2                  4      S4      o\        P                  ! SSR
R7      oVV VVVVVV3R lpSR	8X  dw   SP5                  SP                  RSV	4      4      ;_uu_ 4       w  ppV;_uu_ 4        SP                  VS4       RRR4       V;_uu_ 4        V! 4        RRR4       RRR4       MV! 4        SP                  VSP7                  SP                  S4      V4      4      #   + '       g   i     EL; i  + '       g   i     ELW; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i)r9   nr%  <N>rw   zempty range for randrange()zllvm.ctlz.%sr   rc                  h  < SP                  R 4      p SP                  R4      pSP                  V 4       SP                  V 4       \        SSS
SS	R8H  4      pSP	                  VS4      pSP                  RVS4      pSP                  W0V4       SP                  V4       SP                  VS4       R# )whilez	while.endr   rO   N)append_basic_blockbranchposition_at_endr   rn   icmp_signedcbranchrT   )bbwhilebbendr_  rP  r(   r'   r\  rp   rptrr6  r=   r,  s       r   get_num _randrange_impl.<locals>.get_num  s    ,,W5**;7w('9eUd]KMM!R ''a3		E2&ar   rK  )r-   r   r   r   r(  rT   rj   if_thenre  r%   rP   sdivrS   rM  rN  
ValueErrorr    true_bitrk   r"   rJ   r#   rn   r&   r   rl   rz   mul)r'   r(   startstopstepr,  rE  r6  zeroonenptrwrR  r+   r,   nm1rj  is_one
is_not_oner\  rp   ri  r=   s   ff&&&f&f           @@@@r   _randrange_implr{    s   gw6I;;r1D
++b!
Cw5D MM'++d*D1	,,S$=	>	>KKGLL$6=sCLL!a	 
?
 
,,S$<	=	=KKGLL$6=sCLL!a	 
> 	TA			Wg&9&9$4&H	I	I+))':vF 
J
 ??2G$4$4$9$9:;D		'	'(8(8(?(?(6(;
=B "'$'++a
ACMM',,r1A1A+BCWMEKKGRXX6>Ew5D  }__W00q#>??CWFJdD) 	  @? 		;;ugkk',,t*<dCDDu 
?	>	>
 
>	=	= 
J	I	IN  @?sb   'AN<-AO%O$8PO8	P+P	3P<O	O!	$O5	8PPPPP.	c                 L    \        V \        P                  4      '       d   R  # R# )c                 2    \         P                  ! ^ V ^4      # r8   r   	randrangerq  s   &r   r   "randrange_impl_1.<locals>.<lambda>  s    V--a:r   Nr   r   r   r  s   &r   randrange_impl_1r    s    %'':: (r   c                     \        V \        P                  4      '       d&   \        V\        P                  4      '       d   R  # R# R# )c                 0    \         P                  ! W^4      #    r~  rq  rr  s   &&r   r   "randrange_impl_2.<locals>.<lambda>  s    6#3#3E#Cr   Nr  r  s   &&r   randrange_impl_2r    s2    %''JtU]],K,KCC -L'r   c                     VP                   V 8w  dG   VP                  '       d   \        P                  P                  # \        P                  P
                  # R  # )c                     V# r   r   )rC  r<  _tys   &&&r   r   )_randrange_preprocessor.<locals>.<lambda>  s    r   )rF  rE  r   	IRBuildersextrm   )rF  r,  s   &&r   _randrange_preprocessorr    sB    	{{h%'YYY!! 	(\\&&	( *)r   c                 l  aaaaaa	a
 \        V \        P                  4      '       Ed   \        V\        P                  4      '       d   \        V\        P                  4      '       d   \        V P                  VP                  VP                  4      o\        V P
                  VP
                  VP
                  4      p\        P                  P                  VS4      o\        P                  ! V4      o\        W04      o\        W14      o
\        W24      o	\        VVVVV	V
3R  l4       oV3R l# R# R# R# )c                 6   < VVVV	V
3R  lp\        SWV4      V3# )c           
      d   < Vw  rEpS	! WS4      pS! WS4      pS
! WS4      p\        WWEVSSR 4      # r   )r{  )r'   r(   r   rK   rq  rr  rs  	llvm_typerE  start_preprocessorstep_preprocessorstop_preprocessors   &&&&   r   r   0randrange_impl_3.<locals>._impl.<locals>.codegen/  sM    $(!T*79E(	B(	B&wd'0&$@ @r   r	   )r   rq  rr  rs  r   int_tyr  rE  r  r  r  s   &&&& r   r   randrange_impl_3.<locals>._impl-  s%    @ @ VU$7@@r   c                    < S! WV4      # r   r   )rq  rr  rs  r   s   &&&r   r   "randrange_impl_3.<locals>.<lambda>8  s    uD)Ar   Nr   r   r   maxrE  rF  from_bitwidthr   IntTyper  r   )rq  rr  rs  rF  r   r  r  rE  r  r  r  s   &&& @@@@@@@r   randrange_impl_3r     s    5%--((Zemm-L-L$&&U\\4;;<u~~t}}dmmD,,Xv>JJx(	4XE3HC3HC			A 		A 
		A BA+ ' .M(r   c                     \        V \        P                  4      '       d&   \        V\        P                  4      '       d   R  # R# R# )c                 >    \         P                  ! W^,           ^4      # r  r~  re   rf   s   &&r   r    randint_impl_1.<locals>.<lambda>>  s    F,,QAq9r   Nr  r  s   &&r   randint_impl_1r  ;  s2    !U]]##
1emm(D(D99 )E#r   c                 L    \        V \        P                  4      '       d   R  # R# )c                 B    \         P                  P                  ^ V 4      # r8   r   r   randintr   s   &r   r   #np_randint_impl_1.<locals>.<lambda>D  s    299,,Q4r   Nr  r  s   &r   np_randint_impl_1r  A  s    #u}}%%44 &r   c                   aaaaaa \        V \        P                  4      '       d   \        V\        P                  4      '       d   \        V P                  VP                  4      o\        V P
                  VP
                  4      p\        P                  P                  VS4      o\        P                  ! V4      o\        W 4      o\        W!4      o\        VVVVV3R  l4       oV3R l# R# R# )c                 2   < VVVV3R  lp\        SW4      V3# )c           
      ~   < Vw  rES	! WS4      pS
! WS4      p\         P                  ! S^4      p\        WWEVSSR4      # )r  r   )r   r   r{  )r'   r(   r   rK   rq  rr  rs  r  rE  r  r  s   &&&&   r   r   1np_randint_impl_2.<locals>._impl.<locals>.codegenT  sN    "*79E(	B{{9a0&wd'0&$@ @r   r	   )	r   r   r   r   r  r  rE  r  r  s	   &&& r   r    np_randint_impl_2.<locals>._implR  s#    @ @ VS/88r   c                    < S! W4      # r   r   r   r   r   s   &&r   r   #np_randint_impl_2.<locals>.<lambda>]  
    s!1r   Nr  )	r   r   rF  r   r  r  rE  r  r  s	   && @@@@@@r   np_randint_impl_2r  G  s    #u}}%%*T5==*I*ISZZ-s||T]]3,,Xv>JJx(	4XC3HC			9 		9 
		9 21) +J%r   c                 .  a \        V \        P                  4      '       d5   \        V\        P                  4      '       d   \        V4      '       d   R  # \        V \        P                  4      '       d5   \        V\        P                  4      '       d   \	        V4      '       d   R # \        V \        P                  4      '       d   \        V\        P                  4      '       d   \        V\        P                  4      '       gK   \        V\        P
                  4      '       dh   \        VP                  \        P                  4      '       d<   \        V P                  VP                  4      p\        \        RV 24      oV3R lpV# R# R# R# R# )c                 @    \         P                  P                  W4      # r   r  r   r   r   s   &&&r   r   #np_randint_impl_3.<locals>.<lambda>d      ryy'8'8'Cr   c                 h    \         P                  ! \         P                  P                  W4      4      # r   )r   r   r   r  r  s   &&&r   r   r  h      rxx		0A0A#0L'Mr   intc                    < \         P                  ! VSR 7      pVP                  p\        VP                  4       F$  p\         P
                  P                  W4      WE&   K&  	  V# )r   )r   r   r   r   r   r   r  )r   r   r   r   r   rZ   result_types   &&&   r   r    np_randint_impl_3.<locals>._implp  sI    ((4{3CxxHSXX "		 1 1# < 'Jr   N)r   r   r   r   r   r   r   r  rF  getattrr   )r   r   r   rF  r   r  s   &&&  @r   np_randint_impl_3r  `  s   3&&:dEMM+J+J4CC3&&:dEMM+J+JdMM3&&:dEMM+J+J4''JtU^^,L,L0:4::;@==1J 1Js||T]]3bCz"23	 1J -M ,K&r   c                      R  # )c                  B    \         P                  P                  R R4      # r   r   r   uniformr   r   r   r   "np_uniform_impl0.<locals>.<lambda>{      299$$S#.r   r   r   r   r   np_uniform_impl0r  y      ..r   c                    a \        V \        P                  \        P                  34      '       dE   \        V\        P                  \        P                  34      '       d   \        R  4       oV3R l# R# R# )c                 z    \        V4      p\        V4      p\        \        P                  W4      \	        R W44      3# r   r   r
   r   r   uniform_impl)r   re   rf   low_preprocessorhigh_preprocessors   &&&  r   r   uniform_impl2.<locals>._impl  s=    3A6 4Q 7U]]A1<&4; ; ;r   c                    < S! W4      # r   r   re   rf   r   s   &&r   r   uniform_impl2.<locals>.<lambda>  s	    E!Kr   Nr   r  s   &&@r   uniform_impl2r  ~  s]    !ekk5==122zU]]+8- 8-		; 
	;
 ('8-2r   c                    a \        V \        P                  \        P                  34      '       dE   \        V\        P                  \        P                  34      '       d   \        R  4       oV3R l# R# R# )c                 z    \        V4      p\        V4      p\        \        P                  W4      \	        R W44      3# r   r  )r   r   r   r  r  s   &&&  r   r   np_uniform_impl2.<locals>._impl  s=    3C8 4T :U]]C6&9; ; ;r   c                    < S! W4      # r   r   r  s   &&r   r   "np_uniform_impl2.<locals>.<lambda>  r  r   Nr   r  s   &&@r   np_uniform_impl2r    s]    #U]]3445;;.:0 :0		; 
	;
 21:04r   c                    a aa VVV 3R  lpV# )c                    < \        WS4      pVw  rVS	! W4      pS
! W4      pVP                  We4      p\        WV4      pVP                  WQP	                  Wx4      4      # r   )r-   fsubrg   rc   rd   )r'   r(   r   rK   r=   re   rf   rl   r_  a_preprocessorb_preprocessorr6  s   &&&&     r   r   uniform_impl.<locals>.impl  s\    !'E:	7&7&Q"Gi8||A||E566r   r   )r6  r  r  r   s   fff r   r  r    s    7 Kr   c                    \        V \        P                  \        P                  34      '       dE   \        V\        P                  \        P                  34      '       d   \	        V4      '       d   R  # \        V \        P                  \        P                  34      '       dE   \        V\        P                  \        P                  34      '       d   \        V4      '       d   R # \        V \        P                  \        P                  34      '       d   \        V\        P                  \        P                  34      '       dt   \        V\        P                  4      '       gK   \        V\        P                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# R# R# )c                 @    \         P                  P                  W4      # r   r  r  s   &&&r   r   "np_uniform_impl3.<locals>.<lambda>  r  r   c                 h    \         P                  ! \         P                  P                  W4      4      # r   )r   r   r   r  r  s   &&&r   r   r    r  r   c                     \         P                  ! V4      pVP                  p\        VP                  4       F$  p\         P
                  P                  W4      WE&   K&  	  V# r   )r   r   r   r   r   r   r  )r   r   r   r   r   rZ   s   &&&   r   r   np_uniform_impl3.<locals>._impl  sE    ((4.CxxHSXX "		 1 1# < 'Jr   Nr  )r   r   r   r   s   &&& r   np_uniform_impl3r    s,   3emm455*5;;.;0 ;04CC3emm455*5;;.;0 ;0d NM3emm455*5;;.;0 ;04''JtU^^,L,L0:4::;@==1J 1J	 1J -M;05r   c                     R  p\        V \        P                  \        P                  34      '       d5   \        V\        P                  \        P                  34      '       d   V# R# R# )c                     \         P                   ! 4       pR pW#8  d   RV,
          pYrWV ,
          \        P                  ! W#,          4      ,          ,           # )      ?r   r   r  r  )r   r   ucs   &&  r   r    triangular_impl_2.<locals>._impl  sB    MMO5aASjDIIae$4444r   Nr   r  s   && r   triangular_impl_2r    sN    5 #U]]3445;;.:0 :0:04r   c                 8   \        V \        P                  \        P                  34      '       dj   \        V\        P                  \        P                  34      '       d8   \        V\        P                  \        P                  34      '       d   R  pV# R# R# R# )c                     W8X  d   V # \         P                   ! 4       pW ,
          W,
          ,          pW48  d   R V,
          pR V,
          pYrWV ,
          \        P                  ! W4,          4      ,          ,           # r   r  )r   r   moder  r  s   &&&  r   r    triangular_impl_3.<locals>._impl  s^    {
A
+Au!G!G T*		!%(8888r   Nr   )r   r   r  r   s   &&& r   triangular_impl_3r    sm    3emm455*5;;.;0 ;0$emm455		9  6;05r   c                 8   \        V \        P                  \        P                  34      '       dj   \        V\        P                  \        P                  34      '       d8   \        V\        P                  \        P                  34      '       d   R  pV# R# R# R# )c                    W 8X  d   V # \         P                  P                  4       pW,
          W ,
          ,          pW48  d   R V,
          pR V,
          pY r WV ,
          \        P                  ! W4,          4      ,          ,           # r   )r   r   r  r  )leftr  rightr  r  s   &&&  r   r   r    se    }		  "A.Au!G!G#e4<499QU+;;;;r   Nr   )r  r  r  r   s   &&& r   r  r    sm    4%++u}}566:5;;.<0 <0uu{{EMM:;;		<  <<06r   c                 D   \        V4      '       d   RR l# \        V4      '       d   RR l# \        V\        P                  4      '       gK   \        V\        P
                  4      '       d4   \        VP                  \        P                  4      '       d   RR lpV# R # R # )Nc                 D    \         P                  P                  V VV4      # r   )r   r   
triangularr  r  r  r   s   &&&&r   r   !triangular_impl.<locals>.<lambda>  s    BII4H4HIMIN5Pr   c                 j    \         P                  ! \         P                  P                  WV4      4      # r   )r   r   r   r   r  s   &&&&r   r   r    s!    BHHII  U35
r   c                     \         P                  ! V4      pVP                  p\        VP                  4       F%  p\         P
                  P                  WV4      WV&   K'  	  V# r   )r   r   r   r   r   r   r   )r  r  r  r   r   r   rZ   s   &&&&   r   r   triangular_impl.<locals>._impl  sG    ((4.CxxHSXX "		 4 4T G 'Jr   r   r   )r  r  r  r   r   s   &&&& r   triangular_implr    s    4P 	P d
 	
 	4''JtU^^,L,L,6tzz7<}}-F -F	 -F -Mr   c                     \        V \        P                  \        P                  34      '       dL   \        V\        P                  \        P                  34      '       d   \	        \
        P
                  4      # R # R # r   )r   r   r   r   _gammavariate_implr   alphabetas   &&r   gammavariate_implr  
  sQ    %%++u}}566:5;;.<0 <0!&--00<06r   c                 l    \        V \        P                  \        P                  34      '       d   R  # R# )c                 B    \         P                  P                  V R 4      # r   r   r   gammashapes   &r   r   %ol_np_random_gamma1.<locals>.<lambda>  s    RYY__UC8r   Nr   r  s   &r   ol_np_random_gamma1r    s)     %%++u}}56688 7r   c                 4  a \        V \        P                  \        P                  34      '       dg   \        V\        P                  \        P                  34      '       d5   \	        \        \        P                  P                  4      4      oV3R  lpV# R# R# )c                    < S! W4      # r   r   )r  r   r,   s   &&r   r   !ol_np_random_gamma2.<locals>.impl  s    e##r   N)r   r   r   r   r   r  r   r   )r  r   r   r,   s   && @r   ol_np_random_gamma2r    sg    %%++u}}566:EKK/<1 <101A1ABC	$<16r   c                    a  V 3R  lpV# )c                  < R\         P                  ! R4      ,           pV R8:  g   VR8:  d   \        R4      hV R8  Ed    \         P                  ! RV ,          R,
          4      pV \         P                  ! R4      ,
          pW,           p S! 4       pRTu;8  d   R8  g   M K  RS! 4       ,
          p\         P                  ! VRV,
          ,          4      V,          pV \         P                  ! V4      ,          p	Wf,          V,          p
WEV,          ,           V	,
          pW,           RV
,          ,
          R8  g   V\         P                  ! V
4      8  g   K  W,          # V R8X  d+   \         P                  ! RS! 4       ,
          4      ) V,          #  S! 4       p\         P
                  V ,           \         P
                  ,          pW,          pVR8:  d   VRV ,          ,          p	M$\         P                  ! W,
          V ,          4      ) p	S! 4       pVR8  d    WiV R,
          ,          8:  d
    W,          # K  V\         P                  ! V	) 4      8:  g   K   W,          # )	z1Gamma distribution.  Taken from CPython.
        r   g      @r   z*gammavariate: alpha and beta must be > 0.0r  g      @gHz>gP?)r  r  rn  r  expe)r
  r  SG_MAGICCONSTainvbbbcccu1u2r<  r   zr_  r  rf   pr  s   &&             r   r   !_gammavariate_impl.<locals>._impl#  s    dhhsm+
 C<43;IJJ3; 99S5[3./D$((3-'C,CYb+8+79_HHRR[)$.$((1+%E"HAIaK$s1u,3qDHHQK7G8Oc\
 HHS79_--44 IVVe^TVV+C8c%i(A13+..AYs753;// 8O	 0488QB<'8Or   r   r  r   s   f r   r  r  "  s    6n Lr   c                 8   \        V4      '       d   R  # \        V4      '       d   R # \        V\        P                  4      '       gK   \        V\        P
                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# )c                 @    \         P                  P                  W4      # r   r  r  r   r   s   &&&r   r   gamma_impl.<locals>.<lambda>`  s    "))//%*Gr   c                 h    \         P                  ! \         P                  P                  W4      4      # r   )r   r   r   r  r)  s   &&&r   r   r*  c  s    "((299??53P*Qr   c                     \         P                  ! V4      pVP                  p\        VP                  4       F$  p\         P
                  P                  W4      WE&   K&  	  V# r   )r   r   r   r   r   r   r  )r  r   r   r   r   rZ   s   &&&   r   r   gamma_impl.<locals>._implg  sC    ((4.CxxHSXX "		 = 'Jr   Nr   )r  r   r   r   s   &&& r   
gamma_implr.  ]  sy    4GGdQQ$&&:dENN+K+K+5djj6;mm,E ,E	 ,E ,Lr   c                 8   \        V4      '       d   R  # \        V4      '       d   R # \        V\        P                  4      '       gK   \        V\        P
                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# )c                 @    \         P                  P                  V 4      # r   r   r   standard_gammar  r   s   &&r   r   %standard_gamma_impl.<locals>.<lambda>s  s    299#;#;E#Br   c                 h    \         P                  ! \         P                  P                  V 4      4      # r   )r   r   r   r2  r3  s   &&r   r   r4  v  s    288BII,D,DU,K#Lr   c                     \         P                  ! V4      pVP                  p\        VP                  4       F$  p\         P
                  P                  V 4      W4&   K&  	  V# r   )r   r   r   r   r   r   r2  )r  r   r   r   rZ   s   &&   r   r   "standard_gamma_impl.<locals>._implz  sE    ((4.CxxHSXX "		 8 8 ? 'Jr   Nr   )r  r   r   s   && r   standard_gamma_implr8  p  sy    4BBdLL4''JtU^^,L,L0:4::;@==1J 1J	 1J -Mr   c                     \        V \        P                  \        P                  34      '       dL   \        V\        P                  \        P                  34      '       d   \	        \
        P                  4      # R # R # r   )r   r   r   r   _betavariate_implr   gammavariater	  s   &&r   betavariate_implr<    sS    %%++u}}566:5;;.<0 <0 !4!455<06r   c                 4  a \        V \        P                  \        P                  34      '       dg   \        V\        P                  \        P                  34      '       d5   \	        \        \        P                  P                  4      4      oV3R  lpV# R# R# )c                    < S! W4      # r   r   )re   rf   r,   s   &&r   r   ol_np_random_beta.<locals>.impl  s    a8Or   N)	r   r   r   r   r   r:  r   r   r  )re   rf   r   r,   s   && @r   ol_np_random_betar@    se    !ekk5==122zU]]+8- 8-0AB	8-2r   c                    a  V 3R  lpV# )c                T   < S! V R4      pVR8X  d   R# W"S! VR4      ,           ,          # )z0Beta distribution.  Taken from CPython.
        r   r   r   )r
  r  r]   r  s   && r   r    _betavariate_impl.<locals>._impl  s/    
 %8E$O+,,r   r   )r  r   s   f r   r:  r:    s    	- Lr   c                 8   \        V4      '       d   R  # \        V4      '       d   R # \        V\        P                  4      '       gK   \        V\        P
                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# )c                 @    \         P                  P                  W4      # r   )r   r   r  re   rf   r   s   &&&r   r   beta_impl.<locals>.<lambda>  s    ")).."6r   c                 h    \         P                  ! \         P                  P                  W4      4      # r   )r   r   r   r  rF  s   &&&r   r   rG    s    "((299>>!+?"@r   c                     \         P                  ! V4      pVP                  p\        VP                  4       F$  p\         P
                  P                  W4      WE&   K&  	  V# r   )r   r   r   r   r   r   r  )re   rf   r   r   r   rZ   s   &&&   r   r   beta_impl.<locals>._impl  sC    ((4.CxxHSXX "		q 4 'Jr   Nr   )re   rf   r   r   s   &&& r   	beta_implrK    s|    466d A@4''JtU^^,L,L0:4::;@==1J 1J	 1J -Mr   c                 P    \        V \        P                  4      '       d   R  pV# R# )c                r    \         P                  ! R\        P                  ! 4       ,
          4      ) V ,          # )z;Exponential distribution.  Taken from CPython.
            r   )r  r  r   )lambds   &r   r   expovariate_impl.<locals>._impl  s&     HHS6==?233e;;r   Nr   r   r   )rN  r   s   & r   expovariate_implrQ    s$    %%%	<  &r   c                 p    \        V \        P                  \        P                  34      '       d   R  pV# R# )c                     \         P                  ! R \        P                  P                  4       ,
          4      ) V ,          # r   r  r  r   r   r   s   &r   r   exponential_impl.<locals>._impl  s+    HHS299#3#3#5566>>r   Nr   )r   r   s   & r   exponential_implrW    s+    %%++u}}566	? 7r   c                 8   \        V4      '       d   R  # \        V4      '       d   R # \        V\        P                  4      '       gK   \        V\        P
                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# )c                 @    \         P                  P                  V 4      # r   )r   r   exponentialr   r   s   &&r   r   "exponential_impl.<locals>.<lambda>  s    299#8#8#?r   c                 h    \         P                  ! \         P                  P                  V 4      4      # r   )r   r   r   rZ  r[  s   &&r   r   r\    s    288BII,A,A%,H#Ir   c                     \         P                  ! V4      pVP                  p\        VP                  4       F$  p\         P
                  P                  V 4      W4&   K&  	  V# r   )r   r   r   r   r   r   rZ  r   r   r   r   rZ   s   &&   r   r   rV    sE    ((4.CxxHSXX "		 5 5e < 'Jr   Nr   r   r   r   s   && r   rW  rW    sy    4??dII4''JtU^^,L,L,6tzz7<}}-F -F	 -F -Mr   c                      R  p V # )c                  v    \         P                  ! R \        P                  P                  4       ,
          4      ) # r   rT  r   r   r   r   rV    s&    ryy//11222r   r   r   s    r   rW  rW    s    3Lr   c                 8   \        V 4      '       d   R  # \        V 4      '       d   R # \        V \        P                  4      '       gK   \        V \        P
                  4      '       d2   \        V P                  \        P                  4      '       d   R pV# R# R# )c                 >    \         P                  P                  4       # r   )r   r   standard_exponentialr   s   &r   r   +standard_exponential_impl.<locals>.<lambda>  s    BII::<r   c                 f    \         P                  ! \         P                  P                  4       4      # r   )r   r   r   re  r   s   &r   r   rf    s    BHHRYY%C%C%EFr   c                     \         P                  ! V 4      pVP                  p\        VP                  4       F#  p\         P
                  P                  4       W#&   K%  	  V# r   )r   r   r   r   r   r   re  r   s   &   r   r   (standard_exponential_impl.<locals>._impl  sC    ((4.CxxHSXX "		 > > @ 'Jr   Nr   r   s   & r   standard_exponential_implrj    sv    4<<dFF4''4((Z

8=.G .G	 .G(r   c                      R  # )c                  B    \         P                  P                  R R4      # r   r   r   	lognormalr   r   r   r   $np_lognormal_impl0.<locals>.<lambda>  s    299&&sC0r   r   r   r   r   np_lognormal_impl0rp    s    00r   c                 l    \        V \        P                  \        P                  34      '       d   R  # R# )c                 B    \         P                  P                  V R 4      # r   rm  means   &r   r   %np_log_normal_impl1.<locals>.<lambda>  s    BII//c:r   Nr   rs  s   &r   np_log_normal_impl1rv    s'    $emm455:: 6r   c                 0  a \        V \        P                  \        P                  34      '       de   \        V\        P                  \        P                  34      '       d3   \	        \        \        P                  P                  4      4      oV3R  l# R# R# )c                    < S! W4      # r   r   rt  r   r,   s   &&r   r   %np_log_normal_impl2.<locals>.<lambda>  s	    2d?r   N)	r   r   r   r   r   _lognormvariate_implr   r   r   ry  s   &&@r   np_log_normal_impl2r|    sc    $emm455*EKK/;1 ;122993C3CDE22;15r   c                 8   \        V4      '       d   R  # \        V4      '       d   R # \        V\        P                  4      '       gK   \        V\        P
                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# )c                 @    \         P                  P                  W4      # r   rm  rt  r   r   s   &&&r   r    lognormal_impl.<locals>.<lambda>  s    )<)<T)Ir   c                 h    \         P                  ! \         P                  P                  W4      4      # r   )r   r   r   rn  r  s   &&&r   r   r    s    "))2E2Ed2R)Sr   c                     \         P                  ! V4      pVP                  p\        VP                  4       F$  p\         P
                  P                  W4      WE&   K&  	  V# r   )r   r   r   r   r   r   rn  )rt  r   r   r   r   rZ   s   &&&   r   r   lognormal_impl.<locals>._impl  sE    ((4.CxxHSXX "		 3 3D @ 'Jr   Nr   )rt  r   r   r   s   &&& r   lognormal_implr    sy    4IIdSS4''JtU^^,L,L,6tzz7<}}-F -F	 -F -Mr   c                    a \        V \        P                  4      '       dK   \        V\        P                  4      '       d)   \        \	        \
        P                  4      4      oV3R  l# R# R# )c                    < S! W4      # r   r   r   r   r,   s   &&r   r   %lognormvariate_impl.<locals>.<lambda>'  s	    Br   N)r   r   r   r   r{  r   gaussr  s   &&@r   lognormvariate_implr  #  sG    "ekk""z%'E'E26<<@A.. (F"r   c                    a  V 3R  l# )c                 <   < \         P                  ! S! W4      4      # r   )r  r  )r   r   _gausss   &&r   r   &_lognormvariate_impl.<locals>.<lambda>+  s    TXXfR&78r   r   )r  s   fr   r{  r{  *  s	    88r   c                 P    \        V \        P                  4      '       d   R  pV# R# )c                h    R\         P                   ! 4       ,
          pRVRV ,          ,          ,          # )z)Pareto distribution.  Taken from CPython.r   )r   )r
  r  s   & r   r   !paretovariate_impl.<locals>._impl1  s(     fmmo%As5y)))r   NrP  )r
  r   s   & r   paretovariate_implr  .  s$    %%%	*  &r   c                 P    \        V \        P                  4      '       d   R  pV# R# )c                     R \         P                  P                  4       ,
          pR VR V ,          ,          ,          ^,
          # r   r   re   r  s   & r   r   pareto_impl.<locals>._impl=  s1    bii&&((As1u%))r   NrP  re   r   s   & r   pareto_implr  :  s$    !U[[!!	*
  "r   c                 8   \        V4      '       d   R  # \        V4      '       d   R # \        V\        P                  4      '       gK   \        V\        P
                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# )c                 @    \         P                  P                  V 4      # r   )r   r   paretore   r   s   &&r   r   pareto_impl.<locals>.<lambda>H  s    ryy//2r   c                 h    \         P                  ! \         P                  P                  V 4      4      # r   )r   r   r   r  r  s   &&r   r   r  K  s    rxx		(8(8(;<r   c                     \         P                  ! V4      pVP                  p\        VP                  4       F$  p\         P
                  P                  V 4      W4&   K&  	  V# r   )r   r   r   r   r   r   r  re   r   r   r   rZ   s   &&   r   r   r  O  sE    ((4.CxxHSXX "		 0 0 3 'Jr   Nr   re   r   r   s   && r   r  r  E  sy    422d<<4''JtU^^,L,L,6tzz7<}}-F -F	 -F -Mr   c                     \        V \        P                  \        P                  34      '       d8   \        V\        P                  \        P                  34      '       d   R  pV# R# R# )c                    R\         P                   ! 4       ,
          pV \        P                  ! V4      ) RV,          ,          ,          # )z*Weibull distribution.  Taken from CPython.r   )r   r  r  )r
  r  r  s   && r   r   "weibullvariate_impl.<locals>._impl\  s2     fmmo%ATXXa[Lc$h777r   Nr   )r
  r  r   s   && r   weibullvariate_implr  X  sN    %%++u}}566:5;;.<0 <0	8 <06r   c                 p    \        V \        P                  \        P                  34      '       d   R  pV# R# )c                     R \         P                  P                  4       ,
          p\        P                  ! V4      ) R V ,          ,          # r   r   r   r  r  r  s   & r   r   weibull_impl.<locals>._implh  s2    bii&&((AXXa[Lc!e,,r   Nr   r  s   & r   weibull_implr  e  s-    !ekk5==122	-
  3r   c                 8   \        V4      '       d   R  # \        V4      '       d   R # \        V\        P                  4      '       gK   \        V\        P
                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# )c                 @    \         P                  P                  V 4      # r   )r   r   weibullr  s   &&r   r   weibull_impl2.<locals>.<lambda>s  s    ryy003r   c                 h    \         P                  ! \         P                  P                  V 4      4      # r   )r   r   r   r  r  s   &&r   r   r  v  s    rxx		(9(9!(<=r   c                     \         P                  ! V4      pVP                  p\        VP                  4       F$  p\         P
                  P                  V 4      W4&   K&  	  V# r   )r   r   r   r   r   r   r  r  s   &&   r   r   weibull_impl2.<locals>._implz  sE    ((4.CxxHSXX "		 1 1! 4 'Jr   Nr   r  s   && r   weibull_impl2r  p  sy    433d==4''JtU^^,L,L,6tzz7<}}-F -F	 -F -Mr   c                     \        V \        P                  4      '       d<   \        V\        P                  4      '       d   \        \        P                  4      # R # R # r   )r   r   r   _vonmisesvariate_implr   r   kappas   &&r   vonmisesvariate_implr    s;    "ekk""z%'E'E$V]]33 (F"r   c                     \        V \        P                  4      '       dF   \        V\        P                  4      '       d$   \        \        P
                  P
                  4      # R # R # r   )r   r   r   r  r   r   r  s   &&r   r  r    sA    "ekk""z%'E'E$RYY%5%566 (F"r   c                    a  V 3R  lpV# )c                "  < VR8:  d$   R\         P                  ,          S! 4       ,          # RV,          pV\         P                  ! RW",          ,           4      ,           p S! 4       p\         P                  ! \         P                  V,          4      pWSV,           ,          pS! 4       pVRWf,          ,
          8  g,   VRV,
          \         P                  ! V4      ,          8:  g   K   RT,          pY,           RY,          ,           ,          p	S! 4       p
T
R8  d<   T \         P
                  ! T	4      ,           R\         P                  ,          ,          pT# T \         P
                  ! T	4      ,
          R\         P                  ,          ,          pT# )zCircular data distribution.  Taken from CPython.
Note the algorithm in Python 2.6 and Numpy is different:
http://bugs.python.org/issue17141
gư>r  r  r   )r  pir  cosr  acos)r   r  sr_  r!  r#  dr"  qr  u3thetar  s   &&          r   r   $_vonmisesvariate_impl.<locals>._impl  s    D==79,,%K		#+&&B2&AUABC!%K2#'TXXa[)@#@!GUsQU{#Y8$))A,&3=9E  $))A,&3=9Er   r   r&  s   f r   r  r    s    &P Lr   c                 8   \        V4      '       d   R  # \        V4      '       d   R # \        V\        P                  4      '       gK   \        V\        P
                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# )c                 @    \         P                  P                  W4      # r   )r   r   vonmisesr   r  r   s   &&&r   r   vonmises_impl.<locals>.<lambda>  s    ryy'9'9"'Dr   c                 h    \         P                  ! \         P                  P                  W4      4      # r   )r   r   r   r  r  s   &&&r   r   r    s    rxx		0B0B20M'Nr   c                     \         P                  ! V4      pVP                  p\        VP                  4       F$  p\         P
                  P                  W4      WE&   K&  	  V# r   )r   r   r   r   r   r   r  )r   r  r   r   r   rZ   s   &&&   r   r   vonmises_impl.<locals>._impl  sE    ((4.CxxHSXX "		 2 22 = 'Jr   Nr   )r   r  r   r   s   &&& r   vonmises_implr    y    4DDdNN4''JtU^^,L,L0:4::;@==1J 1J	 1J -Mr   c                     \        V \        P                  4      '       d8   \        V\        P                  \        P                  34      '       d   R  pV# R# R# )c           	        V ^ 8  d   \        R4      hRTu;8:  d   R8:  g   M \        R4      hVR8X  d   ^ # VR8X  d   V # VR8  pV'       d
   RV,
          pRV,
          p^pW0,          pVR8:  d&   V^,          pV ^,          p W0,          pV ^ 8  d   K*  Q hW,          p\        WR\        P                  ! Wc,          ^,           4      ,          ,           4      p^ pV^ 8  d   ^ p	\        P
                  P                  4       p
TpW8:  g   K1  W8:  d$   Y'       d	   W	,
          MT	,          pV^,          pKZ  W,          p
V	^,          p	W	,
          ^,           V,          V,          W,          ,          pKn  V# )zp
Binomial distribution.  Numpy's variant of the BINV algorithm
is used.
(Numpy uses BTPE for n*p >= 30, though)
zbinomial(): n <= 0r   r   zbinomial(): p outside of [0, 1]r  gx0       $@)rn  minr  r  r   r   )r\  r$  flippedr  nitersqnnp_prodboundr   XUpxs   &&          r   r   binomial_impl.<locals>._impl  sC    1u !5661OO !BCCCxCx#gG!GaAFB, 1aV1uueGTDIIgkAo,F%FFGEE1*II$$&jw'q8!GAFA519/B.159BLr   N)r   r   r   r   r\  r$  r   s   && r   binomial_implr    sG    !U]]##
U]]+)- )-/	b g)-#r   c                 8   \        V4      '       d   R  # \        V4      '       d   R # \        V\        P                  4      '       gK   \        V\        P
                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# )c                 @    \         P                  P                  W4      # r   )r   r   binomialr\  r$  r   s   &&&r   r   binomial_impl.<locals>.<lambda>	  s    "))"4"4Q":r   c                 h    \         P                  ! \         P                  P                  W4      4      # r   )r   r   r   r  r  s   &&&r   r   r    s    "((299+=+=a+C"Dr   c                     \         P                  ! V\         P                  R 7      pVP                  p\	        VP
                  4       F$  p\         P                  P                  W4      WE&   K&  	  V# r  )r   r   intpr   r   r   r   r  )r\  r$  r   r   r   rZ   s   &&&   r   r   r    sL    ((4rww/CxxHSXX "		 2 21 8 'Jr   Nr   )r\  r$  r   r   s   &&& r   r  r    s|    4::d ED4''JtU^^,L,L,6tzz7<}}-F -F	 -F -Mr   c                 p    \        V \        P                  \        P                  34      '       d   R  pV# R# )c                 \    R \         P                  P                  V R ,          4      ,          # r  r1  )dfs   &r   r   chisquare_impl.<locals>._impl  s     11"s(;;;r   Nr   r  r   s   & r   chisquare_implr    s-    "u{{EMM233	< 	 4r   c                 8   \        V4      '       d   R  # \        V4      '       d   R # \        V\        P                  4      '       gK   \        V\        P
                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# )c                 @    \         P                  P                  V 4      # r   r   r   	chisquarer  r   s   &&r   r   !chisquare_impl2.<locals>.<lambda>&  s    		 3 3B 7r   c                 h    \         P                  ! \         P                  P                  V 4      4      # r   )r   r   r   r  r  s   &&r   r   r  (  s    )<)<R)@ Ar   c                     \         P                  ! V4      pVP                  p\        VP                  4       F$  p\         P
                  P                  V 4      W4&   K&  	  V# r   )r   r   r   r   r   r   r  r  r   r   r   rZ   s   &&   r   r   chisquare_impl2.<locals>._impl,  sE    ((4.CxxHSXX "		 3 3B 7 'Jr   Nr   r  r   r   s   && r   chisquare_impl2r  #  sy    477dAA4''JtU^^,L,L,6tzz7<}}-F -F	 -F -Mr   c                     \        V \        P                  \        P                  34      '       d8   \        V\        P                  \        P                  34      '       d   R  pV# R# R# )c                     \         P                  P                  V 4      V,          \         P                  P                  V4      V ,          ,          # r   r  )dfnumdfdens   &&r   r   f_impl.<locals>._impl9  s:    YY((/%7YY((/%79 :r   Nr   )r  r  r   s   && r   f_implr  5  sN    %%++u}}566:EKK/<1 <1	: <16r   c                    \        V \        P                  \        P                  34      '       dE   \        V\        P                  \        P                  34      '       d   \	        V4      '       d   R  # \        V \        P                  \        P                  34      '       dE   \        V\        P                  \        P                  34      '       d   \        V4      '       d   R # \        V\        P                  4      '       gK   \        V\        P                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# )c                 @    \         P                  P                  W4      # r   )r   r   r  r  r  r   s   &&&r   r   f_impl.<locals>.<lambda>E  s    "))++e*Cr   c                 h    \         P                  ! \         P                  P                  W4      4      # r   )r   r   r   r  r   s   &&&r   r   r  J  s    "((299;;u3L*Mr   c                     \         P                  ! V4      pVP                  p\        VP                  4       F$  p\         P
                  P                  W4      WE&   K&  	  V# r   )r   r   r   r   r   r   r  )r  r  r   r   r   rZ   s   &&&   r   r   r  N  sC    ((4.CxxHSXX "		E 9 'Jr   Nr  )r  r  r   r   s   &&& r   r  r  @  s    55;;677JEKK/=1 =14CC55;;677JEKK/=1 =1dMM4''JtU^^,L,L0:4::;@==1J 1J	 1J -Mr   c                 p    \        V \        P                  \        P                  34      '       d   R  pV# R# )c                    V R 8:  g   V R8  d   \        R4      hRV ,
          pV R8  dP   \        ^4      pT ;r4\        P                  P                  4       pWS8  d   WA,          pW4,          pV^,          pK!  V# \        P
                  ! \        P                  ! R\        P                  P                  4       ,
          4      \        P                  ! V4      ,          4      # )r   r   z geometric(): p outside of (0, 1]gUUUUUU?)rn  r  r   r   r  ceilr  )r$  r  r  sumprodr  s   &     r   r   geometric_impl.<locals>._implZ  s    Cx1s7 !CDDaA..FII$$&gIDKCFAyy#		0@0@0B*B!C!%!"- . .r   Nr   )r$  r   s   & r   geometric_implr
  W  s-    !ekk5==122	.$ ' 3r   c                 8   \        V4      '       d   R  # \        V4      '       d   R # \        V\        P                  4      '       gK   \        V\        P
                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# )c                 @    \         P                  P                  V 4      # r   )r   r   	geometricr$  r   s   &&r   r    geometric_impl.<locals>.<lambda>r      ryy2215r   c                 h    \         P                  ! \         P                  P                  V 4      4      # r   )r   r   r   r  r  s   &&r   r   r  u      rxx		(;(;A(>?r   c                     \         P                  ! V\         P                  R 7      pVP                  p\	        VP
                  4       F$  p\         P                  P                  V 4      W4&   K&  	  V# r  )r   r   int64r   r   r   r   r  r$  r   r   r   rZ   s   &&   r   r   r	  y  L    ((4rxx0CxxHSXX "		 3 3A 6 'Jr   Nr   r$  r   r   s   && r   r
  r
  o  sy    455d??4''JtU^^,L,L,6tzz7<}}-F -F	 -F -Mr   c                     \        V \        P                  \        P                  34      '       d8   \        V\        P                  \        P                  34      '       d   R  pV# R# R# )c                     R \         P                  P                  4       ,
          pW\        P                  ! \        P                  ! V4      ) 4      ,          ,
          # r   r  r   r   r  s   && r   r   gumbel_impl.<locals>._impl  s:    bii&&((A488A;,!7777r   Nr   r   s   && r   gumbel_implr    sN    #U]]344EKK/:1 :1	8 :14r   c                 8   \        V4      '       d   R  # \        V4      '       d   R # \        V\        P                  4      '       gK   \        V\        P
                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# )c                 @    \         P                  P                  W4      # r   )r   r   gumbelr  s   &&&r   r   gumbel_impl3.<locals>.<lambda>  r	  r   c                 h    \         P                  ! \         P                  P                  W4      4      # r   )r   r   r   r  r  s   &&&r   r   r     r  r   c                     \         P                  ! V4      pVP                  p\        VP                  4       F$  p\         P
                  P                  W4      WE&   K&  	  V# r   )r   r   r   r   r   r   r  r  s   &&&   r   r   gumbel_impl3.<locals>._impl  r  r   Nr   r  s   &&& r   gumbel_impl3r$    r  r   c                 8   \        V \        P                  \        P                  34      '       dj   \        V\        P                  \        P                  34      '       d8   \        V\        P                  \        P                  34      '       d   R  pV# R# R# R# )c                   \        V4      \        V 4      ,           \        V4      ,
          p\        \        W4      4      pTp\        V4      pVR8  d`   V^ 8  dY   V\        P                  ! \
        P                  P                  4       WSV,           ,          ,           4      ,          pV^,          pKf  \        WE,
          4      pW8  d   \        V4      V,
          # V# )z'Numpy's algorithm for hypergeometric().r   )r  floatr  r  floorr   r   )ngoodnbadnsampled1d2YKZs   &&&     r   r   "hypergeometric_impl.<locals>._impl  s    TSZ'#g,6Bs4'(BAGAc'a!eTZZ		 0 0 2Qq&\ ABBQBFA|7|a''r   Nr   )r)  r*  r+  r   s   &&& r   hypergeometric_implr2    sm    55;;677J5;;.=0 =0gU]];<<	  # ==07r   c                 8   \        V4      '       d   R  # \        V4      '       d   R # \        V\        P                  4      '       gK   \        V\        P
                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# )c                 B    \         P                  P                  WV4      # r   )r   r   hypergeometricr)  r*  r+  r   s   &&&&r   r   %hypergeometric_impl.<locals>.<lambda>  s    II$$U':r   c                 j    \         P                  ! \         P                  P                  WV4      4      # r   )r   r   r   r5  r6  s   &&&&r   r   r7    s    HHRYY--e7CDr   c                     \         P                  ! V\         P                  R 7      pVP                  p\	        VP
                  4       F%  p\         P                  P                  WV4      WV&   K'  	  V# r  )r   r   r  r   r   r   r   r5  )r)  r*  r+  r   r   r   rZ   s   &&&&   r   r   r1    sN    ((4rww/CxxHSXX "		 8 8g N 'Jr   Nr   )r)  r*  r+  r   r   s   &&&& r   r2  r2    s    4; 	;dE 	E4''JtU^^,L,L0:4::;@==1J 1J	 1J -Mr   c                      R  # )c                  B    \         P                  P                  R R4      # r   r   r   laplacer   r   r   r   laplace_impl0.<locals>.<lambda>  r  r   r   r   r   r   laplace_impl0r?    r  r   c                 l    \        V \        P                  \        P                  34      '       d   R  # R# )c                 B    \         P                  P                  V R 4      # r   r<  r   s   &r   r   laplace_impl1.<locals>.<lambda>  s    299,,S#6r   Nr   r   s   &r   laplace_impl1rC    s'    #U]]34466 5r   c                     \        V \        P                  \        P                  34      '       d9   \        V\        P                  \        P                  34      '       d   \        # R # R # r   )r   r   r   r   laplace_implr   r   s   &&r   laplace_impl2rG    sH    #U]]344EKK/:1 :1:14r   c                 8   \        V4      '       d   R  # \        V4      '       d   R # \        V\        P                  4      '       gK   \        V\        P
                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# )c                 @    \         P                  P                  W4      # r   r<  r  s   &&&r   r   laplace_impl3.<locals>.<lambda>  s    		(9(9#(Er   c                 h    \         P                  ! \         P                  P                  W4      4      # r   )r   r   r   r=  r  s   &&&r   r   rJ    s    1B1B31N(Or   c                     \         P                  ! V4      pVP                  p\        VP                  4       F$  p\         P
                  P                  W4      WE&   K&  	  V# r   )r   r   r   r   r   r   r=  r  s   &&&   r   r   laplace_impl3.<locals>._impl  sE    ((4.CxxHSXX "		 1 1# = 'Jr   Nr   r  s   &&& r   laplace_impl3rN    sy    4EEdOO$&&:dENN+K+K+5djj6;mm,E ,E	 ,E ,Lr   c                     \         P                  P                  4       pVR 8  d*   W\        P                  ! W",           4      ,          ,           # W\        P                  ! RV,
          V,
          4      ,          ,
          # )r  r  r  r  s   && r   rE  rE    sR    
		A3wTXXae_,,,TXXcAgk2222r   c                      R  # )c                  B    \         P                  P                  R R4      # r   r   r   logisticr   r   r   r    logistic_impl0.<locals>.<lambda>  s    299%%c3/r   r   r   r   r   logistic_impl0rU    s    //r   c                 l    \        V \        P                  \        P                  34      '       d   R  # R# )c                 B    \         P                  P                  V R 4      # r   rR  r   s   &r   r    logistic_impl1.<locals>.<lambda>  s    299--c37r   Nr   r   s   &r   logistic_impl1rY    s'    #U]]34477 5r   c                     \        V \        P                  \        P                  34      '       d9   \        V\        P                  \        P                  34      '       d   \        # R # R # r   )r   r   r   r   logistic_implrF  s   &&r   logistic_impl2r\    sH    #U]]344EKK/:1 :1:14r   c                 8   \        V4      '       d   R  # \        V4      '       d   R # \        V\        P                  4      '       gK   \        V\        P
                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# )c                 @    \         P                  P                  W4      # r   rR  r  s   &&&r   r    logistic_impl3.<locals>.<lambda>  s    		(:(:3(Fr   c                 h    \         P                  ! \         P                  P                  W4      4      # r   )r   r   r   rS  r  s   &&&r   r   r_    s    1C1CC1O(Pr   c                     \         P                  ! V4      pVP                  p\        VP                  4       F$  p\         P
                  P                  W4      WE&   K&  	  V# r   )r   r   r   r   r   r   rS  r  s   &&&   r   r   logistic_impl3.<locals>._impl  sE    ((4.CxxHSXX "		 2 23 > 'Jr   Nr   r  s   &&& r   logistic_impl3rc    sy    4FFdPP4''JtU^^,L,L0:4::;@==1J 1J	 1J -Mr   c                     \         P                  P                  4       pW\        P                  ! VR V,
          ,          4      ,          ,           # r   r  r  s   && r   r[  r[    s3    
		A!sQw-0000r   c                   V R8:  g   V R8  d   \        R4      h\        P                  ! RV ,
          4      p \        P                  P	                  4       pW 8  d   ^# \        P                  P	                  4       pR\        P
                  ! W,          4      ,
          pW$V,          8:  dM   \        P                  ! R\        P                  ! V4      \        P                  ! V4      ,          ,           4      # W$8  d   ^# ^# )z"Numpy's algorithm for logseries().r   r   z logseries(): p outside of (0, 1])rn  r  r  r   r   r  r  )r$  r_  Vr  r  s   &    r   _logseries_implrg  $  s    Cx1s7;<<qA
II6II$((15/!A:88C$((1+";;<<Vr   c                 r    \        V \        P                  \        P                  34      '       d   \        # R # r   )r   r   r   r   rg  )r$  s   &r   logseries_implri  9  s'    !ekk5==122 3r   c                 8   \        V4      '       d   R  # \        V4      '       d   R # \        V\        P                  4      '       gK   \        V\        P
                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# )c                 @    \         P                  P                  V 4      # r   )r   r   	logseriesr  s   &&r   r    logseries_impl.<locals>.<lambda>B  r  r   c                 h    \         P                  ! \         P                  P                  V 4      4      # r   )r   r   r   rl  r  s   &&r   r   rm  D  r  r   c                     \         P                  ! V\         P                  R 7      pVP                  p\	        VP
                  4       F$  p\         P                  P                  V 4      W4&   K&  	  V# r  )r   r   r  r   r   r   r   rl  r  s   &&   r   r   logseries_impl.<locals>._implH  r  r   Nr   r  s   && r   ri  ri  ?  sy    455d??$&&:dENN+K+K+5djj6;mm,E ,E	 ,E ,Lr   c                     \        V \        P                  \        P                  34      '       d8   \        V\        P                  \        P                  34      '       d   R  pV# R# R# )c                     V ^ 8:  d   \        R4      hVR8  g   VR8  d   \        R4      h\        P                  P                  V RV,
          V,          4      p\        P                  P	                  V4      # )r9   znegative_binomial(): n <= 0r   r   z(negative_binomial(): p outside of [0, 1])rn  r   r   r  poisson)r\  r$  r.  s   && r   r   %negative_binomial_impl.<locals>._implU  s_    Av !>??3w!c' !KLL		C!Gq=1A99$$Q''r   Nr   r  s   && r   negative_binomial_implru  Q  sN    !ekk5==122zu{{EMM*8, 8,	( 8,2r   c                      R  # )c                  @    \         P                  P                  R 4      # r   r   r   rs  r   r   r   r   poisson_impl0.<locals>.<lambda>b  s    299$$S)r   r   r   r   r   poisson_impl0rz  `  s    ))r   c                    a \        V \        P                  \        P                  34      '       d   \        R  4       oV3R l# R# )c                 ^   a \        V4      oV3R  lp\        \        P                  V4      V3# )c                   <aa \        W4      p\        P                  ! V\        R R7      pVP	                  R4      pVP	                  R4      pVw  pS! W4      pVP                  RV\        P                  ! \        R4      4      p	VP                  V	4      ;_uu_ 4        \        P                  ! \        \        \        34      p
\        P                  ! VP                  P                  V
R4      pVP                  WV34      pVP!                  W4       VP#                  V4       RRR4       VP#                  V4       VP%                  V4       \&        P(                  P(                  o\*        P,                  oVV3R lpV P/                  WW#4      pVP!                  W4       VP#                  V4       VP%                  V4       VP1                  V4      #   + '       g   i     L; i)	r{   r%  bbcontrh  rO   r  numba_poisson_ptrsNc                   < V R8  d   \        R4      hV R8X  d   ^ # S! V ) 4      p^ pRp S! 4       pW4,          pW18:  d   V# V^,          pK#  )a  Numpy's algorithm for poisson() on small *lam*.

This method is invoked only if the parameter lambda of the
distribution is small ( < 10 ). The algorithm used is
described in "Knuth, D. 1969. 'Seminumerical Algorithms.
The Art of Computer Programming' vol 2.
r   zpoisson(): lambda < 0r   rn  )lamenlamr  r  r  _expr  s   &    r   poisson_implCpoisson_impl1.<locals>._impl.<locals>.codegen.<locals>.poisson_impl  s[     Sy()@AAcz  #JEAD#I	=#$HQr   )r4   r   r(  ry   rb  fcmp_orderedr   r   ra   rl  r    r!   r"   rJ   r#   r&   rT   rc  rd  r   r   r  r  r*  rP   )r'   r(   r   rK   r=   retptrr~  rh  r  big_lamr+   r,   r{   r  r  r  lam_preprocessors   &&&&          @@r   r   -poisson_impl1.<locals>._impl.<locals>.codegenl  s~   ,W>	 ,,WgEJ 33H=227;&w4!..tS/1{{64/HJ__W-- ??7_f4MND 778H8H8O8O8<8LNB ",,rs+;<CMM#.NN5) . v&''/))**xx, ..wcPc*u%''.||F++W .-s   BGG'	)r   r
   r   r  )r   r  r   r  s   && @r   r   poisson_impl1.<locals>._implh  s,    3C86,n U[[#.77r   c                    < S! V 4      # r   r   r  r   s   &r   r   poisson_impl1.<locals>.<lambda>  s	    5:r   Nr   r  s   &@r   poisson_impl1r  e  s>    #U]]344	:	8 
:	8v &%{ 5r   c                 \   \        V \        P                  \        P                  34      '       d   \	        V4      '       d   R  # \        V \        P                  \        P                  34      '       d   \        V4      '       d   R # \        V \        P                  \        P                  34      '       dt   \        V\        P                  4      '       gK   \        V\        P                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# R# )c                 @    \         P                  P                  V 4      # r   rx  r  r   s   &&r   r   poisson_impl2.<locals>.<lambda>  s    !2!23!7r   c                 h    \         P                  ! \         P                  P                  V 4      4      # r   )r   r   r   rs  r  s   &&r   r   r    s    "))*;*;C*@!Ar   c                     \         P                  ! V\         P                  R 7      pVP                  p\	        VP
                  4       F$  p\         P                  P                  V 4      W4&   K&  	  V# r  )r   r   r  r   r   r   r   rs  )r  r   r   r   rZ   s   &&   r   r   poisson_impl2.<locals>._impl  sL    ((4rww/CxxHSXX "		 1 1# 6 'Jr   Nr  )r  r   r   s   && r   poisson_impl2r    s    #U]]344T9J9J77#U]]3449M9MAA#U]]344tU]]++4((Z

8=.G .G	 .G( 5r   c                 p    \        V \        P                  \        P                  34      '       d   R  pV# R# )c                     V R 8:  d   \        R4      h\        P                  ! ^\        P                  ! \        P
                  P                  4       ) 4      ,
          RV ,          4      # )r   zpower(): a <= 0r   )rn  r  powr  r   r   re  re   s   &r   r   power_impl.<locals>._impl  sM    Cx !23388A"))*H*H*J)J KKqD" "r   Nr   r  s   & r   
power_implr    s-    !ekk5==122	"  3r   c                 8   \        V4      '       d   R  # \        V4      '       d   R # \        V\        P                  4      '       gK   \        V\        P
                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# )c                 @    \         P                  P                  V 4      # r   )r   r   powerr  s   &&r   r   power_impl.<locals>.<lambda>  s    ryyq1r   c                 h    \         P                  ! \         P                  P                  V 4      4      # r   )r   r   r   r  r  s   &&r   r   r    s    rxx		(:;r   c                     \         P                  ! V4      pVP                  p\        VP                  4       F$  p\         P
                  P                  V 4      W4&   K&  	  V# r   )r   r   r   r   r   r   r  r  s   &&   r   r   r    sC    ((4.CxxHSXX "		 2 'Jr   Nr   r  s   && r   r  r    sy    411d;;$&&:dENN+K+K+5djj6;mm,E ,E	 ,E ,Lr   c                      R  # )c                  @    \         P                  P                  R 4      # r   r   r   rayleighr   r   r   r    rayleigh_impl0.<locals>.<lambda>  s    299%%c*r   r   r   r   r   rayleigh_impl0r    s    **r   c                 p    \        V \        P                  \        P                  34      '       d   R  pV# R# )c           	          V R 8:  d   \        R4      hV \        P                  ! R\        P                  ! R\        P
                  P                  4       ,
          4      ,          4      ,          # )r   zrayleigh(): scale <= 0r   r  )rn  r  r  r  r   r   rU  s   &r   r   rayleigh_impl1.<locals>.impl  sI    | !9::499TDHHS299;K;K;M5M,N%NOOOr   Nr   )r   r   s   & r   rayleigh_impl1r    s.    %%++u}}566	P  7r   c                 8   \        V4      '       d   R  # \        V4      '       d   R # \        V\        P                  4      '       gK   \        V\        P
                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# )c                 @    \         P                  P                  V 4      # r   r  r[  s   &&r   r    rayleigh_impl2.<locals>.<lambda>  s    299#5#5e#<r   c                 h    \         P                  ! \         P                  P                  V 4      4      # r   )r   r   r   r  r[  s   &&r   r   r    s    288BII,>,>u,E#Fr   c                     \         P                  ! V4      pVP                  p\        VP                  4       F$  p\         P
                  P                  V 4      W4&   K&  	  V# r   )r   r   r   r   r   r   r  r_  s   &&   r   r   rayleigh_impl2.<locals>._impl  sE    ((4.CxxHSXX "		 2 25 9 'Jr   Nr   r`  s   && r   rayleigh_impl2r    sy    4<<dFF$&&:dENN+K+K+5djj6;mm,E ,E	 ,E ,Lr   c                      R  p V # )c                      \         P                  P                  4       \         P                  P                  4       ,          # r   r   r   r   r   r   cauchy_impl.<locals>._impl  s'    yy((*RYY-F-F-HHHr   r   r   s    r   cauchy_implr    s    I Lr   c                 8   \        V 4      '       d   R  # \        V 4      '       d   R # \        V \        P                  4      '       gK   \        V \        P
                  4      '       d2   \        V P                  \        P                  4      '       d   R pV# R# R# )c                 >    \         P                  P                  4       # r   )r   r   standard_cauchyr   s   &r   r   &standard_cauchy_impl.<locals>.<lambda>
  r   r   c                 f    \         P                  ! \         P                  P                  4       4      # r   )r   r   r   r  r   s   &r   r   r    r   r   c                     \         P                  ! V 4      pVP                  p\        VP                  4       F#  p\         P
                  P                  4       W#&   K%  	  V# r   )r   r   r   r   r   r   r  r   s   &   r   r   #standard_cauchy_impl.<locals>._impl  r  r   Nr   r   s   & r   standard_cauchy_implr    sy    477dAA$&&:dENN+K+K/9$**:?--0I 0I	 0I ,Lr   c                 p    \        V \        P                  \        P                  34      '       d   R  pV# R# )c                    \         P                  P                  4       p\         P                  P                  V R ,          4      p\        P
                  ! V R ,          4      V,          \        P
                  ! V4      ,          pV# r  )r   r   r   r2  r  r  )r  NGr  s   &   r   r   standard_t_impl.<locals>._impl  sU    		))+A		((c2A		"s(#a'$))A,6AHr   Nr   r  s   & r   standard_t_implr    s-    "u{{EMM233	  4r   c                 8   \        V4      '       d   R  # \        V4      '       d   R # \        V\        P                  4      '       gK   \        V\        P
                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# )c                 @    \         P                  P                  V 4      # r   )r   r   
standard_tr  s   &&r   r   "standard_t_impl2.<locals>.<lambda>)  s    		 4 4R 8r   c                 h    \         P                  ! \         P                  P                  V 4      4      # r   )r   r   r   r  r  s   &&r   r   r  +  s    )=)=b)A Br   c                     \         P                  ! V4      pVP                  p\        VP                  4       F$  p\         P
                  P                  V 4      W4&   K&  	  V# r   )r   r   r   r   r   r   r  r  s   &&   r   r   standard_t_impl2.<locals>._impl/  sE    ((4.CxxHSXX "		 4 4R 8 'Jr   Nr   r  s   && r   standard_t_impl2r  &  sy    488dBB$&&:dENN+K+K+5djj6;mm,E ,E	 ,E ,Lr   c                     \        V \        P                  4      '       d(   \        V\        P                  4      '       d   R  pV# R# R# )c                    V R 8:  d   \        R4      hVR 8:  d   \        R4      hV RV,          ,          p\        P                  P                  4       pW,          V,          pWV\        P
                  ! ^V,          V,          W3,          ,           4      ,
          ,          ,           p\        P                  P                  4       pWPW,           ,          8:  d   V# W ,          V,          # )r   zwald(): mean <= 0zwald(): scale <= 0r  )rn  r   r   r   r  r  )rt  r   mu_2lr.  r  r  s   &&    r   r   wald_impl.<locals>._impl;  s    s{ !455| !566C%K(E		))+A1ADIIa%i!mae.C$D DEEA		  "ADH%%{Q&r   NrP  )rt  r   r   s   && r   	wald_implr  8  s8    $$$E5;;)G)G	' ! *H$r   c                 8   \        V4      '       d   R  # \        V4      '       d   R # \        V\        P                  4      '       gK   \        V\        P
                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# )c                 @    \         P                  P                  W4      # r   )r   r   waldrt  r   r   s   &&&r   r   wald_impl2.<locals>.<lambda>P  s    )Dr   c                 h    \         P                  ! \         P                  P                  W4      4      # r   )r   r   r   r  r  s   &&&r   r   r  S  s    "))..2M)Nr   c                     \         P                  ! V4      pVP                  p\        VP                  4       F$  p\         P
                  P                  W4      WE&   K&  	  V# r   )r   r   r   r   r   r   r  )rt  r   r   r   r   rZ   s   &&&   r   r   wald_impl2.<locals>._implW  sC    ((4.CxxHSXX "		t ; 'Jr   Nr   )rt  r   r   r   s   &&& r   
wald_impl2r  M  sy    4DDdNN$&&:dENN+K+K+5djj6;mm,E ,E	 ,E ,Lr   c                 P    \        V \        P                  4      '       d   R  pV# R# )c                    V R 8:  d   \        R4      hV R ,
          pRV,          p R \        P                  P                  4       ,
          p\        P                  P                  4       p\        \        P
                  ! VRV,          ,          4      4      pV\        8  g   VR 8  d   K  R R V,          ,           V,          pV^8  g   K  WE,          VR ,
          ,          VR ,
          ,          Wb,          8:  g   K  V# )r   zzipf(): a <= 1r  g      )rn  r   r   r  r  r(  r   )re   am1rf   r  rf  r  Ts   &      r   r   zipf_impl.<locals>._implc  s    Cx !122c'Cs
A"))**,,II$$&

1#456LAG37]s*6aeq3w/1s7;FHr   NrP  r  s   & r   	zipf_implr  `  s$    !U[[!!	" % "r   c                 8   \        V4      '       d   R  # \        V4      '       d   R # \        V\        P                  4      '       gK   \        V\        P
                  4      '       d2   \        VP                  \        P                  4      '       d   R pV# R# R# )c                 @    \         P                  P                  V 4      # r   )r   r   zipfr  s   &&r   r   zipf_impl.<locals>.<lambda>z  s    ryy~~a0r   c                 h    \         P                  ! \         P                  P                  V 4      4      # r   )r   r   r   r  r  s   &&r   r   r  }  s    rxx		q(9:r   c                     \         P                  ! V\         P                  R 7      pVP                  p\	        VP
                  4       F$  p\         P                  P                  V 4      W4&   K&  	  V# r  )r   r   r  r   r   r   r   r  r  s   &&   r   r   r    sJ    ((4rww/CxxHSXX "		q 1 'Jr   Nr   r  s   && r   r  r  w  sy    400d::$&&:dENN+K+K+5djj6;mm,E ,E	 ,E ,Lr   c                   a \        V \        P                  4      '       g   R p\        V4      hVR8X  d   \        P
                  P                  oMVR8X  d   \
        P                  oV P                  ^8X  d	   V3R lpV# V3R lpV# )z1The argument to shuffle() should be a buffer typer   r   c                    < V P                   ^ ,          ^,
          pV^ 8  d0   S! V^,           4      pW,          W,          uW&   W&   V^,          pK6  R# r9   Nr  r   ijrands   &  r   r   do_shuffle_impl.<locals>.impl  sI    
QAa%QKT14
adQ r   c                    < V P                   ^ ,          ^,
          pV^ 8  dX   S! V^,           4      p\        P                  ! W,          4      \        P                  ! W,          4      uW&   W&   V^,          pK^  R# r  )r  r   copyr  s   &  r   r   r    sY    
QAa%QKWWQT]BGGADM
adQ r   )	r   r   Bufferr   r   r   r  r  ndim)r   rngrR  r   r  s   &&  @r   do_shuffle_implr    so    a&&AS!!
d{yy  	vv{	 K	 Kr   c                     \        V R 4      # r   r  r   s   &r   shuffle_implr        1d##r   c                     \        V R 4      # r   r  r   s   &r   r  r    r  r   c                     \        V \        P                  4      '       d   R  pV# \        V \        P                  4      '       d   R pV# RpV# )c                 p    \         P                  ! V 4      p\         P                  P                  V4       V# r   )r   aranger   shuffle)r   r]   s   & r   permutation_impl*permutation_impl.<locals>.permutation_impl  s&    		!AIIa Hr   c                 d    V P                  4       p\        P                  P                  V4       V# r   )r  r   r   r   )r   arr_copys   & r   r  r    s$    vvxHIIh'Or   N)r   r   r   Array)r   r  s   & r   r  r    sN    !U]]##	  
Au{{	#	#	   r   c                  6    \        V 4      ^ 8X  d   R pV# R pV# )r9   c                  >    \         P                  P                  4       # r   r   r   s   *r   	rand_implrand.<locals>.rand_impl  s    99##%%r   c                  @    \         P                  P                  V 4      # r   r   r   s   *r   r  r	    s    99##D))r   len)r   r  s   * r   r  r    s'    
4yA~	& 	* r   c                  6    \        V 4      ^ 8X  d   R pV# R pV# )r9   c                  >    \         P                  P                  4       # r   r   r   s   *r   
randn_implrandn.<locals>.randn_impl  s    99,,..r   c                  @    \         P                  P                  V 4      # r   r   r   s   *r   r  r    s    99,,T22r   r  )r   r  s   * r   randnr    s'    
4yA~	/ 	3 r   c                   aaa \        V \        P                  4      '       dE   V P                  ^8X  g   Q hV P                  o\
        R 4       o\
        R 4       p\
        R 4       oMd\        V \        P                  4      '       d6   \        P                  o\
        R 4       o\
        R 4       p\
        R 4       oM\        RV : 24      hVR\        P                  39   d   RVV3R	 llpV# RVVV3R
 llpV# )r  c                     \        V 4      # r   r  r  s   &r   get_source_sizechoice.<locals>.get_source_size  s    q6Mr   c                 "    V P                  4       # r   )r  r  s   &r   copy_sourcechoice.<locals>.copy_source  s    668Or   c                     W,          # r   r   re   a_is   &&r   getitemchoice.<locals>.getitem  s	    6Mr   c                     V # r   r   r  s   &r   r  r    s    Hr   c                 .    \         P                  ! V 4      # r   )r   r  r  s   &r   r  r    s    99Q<r   c                     V# r   r   r  s   &&r   r  r    s    Jr   z>np.random.choice() first argument should be int or array, got Nc                d   < S! V 4      p\         P                  P                  ^ V4      pS! W4      # )zO
choice() implementation returning a single sample
(note *replace* is ignored)
r  )re   r   replacer\  r  r  r  s   &&&  r   choice_implchoice.<locals>.choice_impl  s/    
  "A		!!!Q'A1= r   c                  < S
! V 4      pV'       dk   \         P                  ! VS	4      pVP                  p\        \	        V4      4       F-  p\         P
                  P                  ^ V4      pS! W4      WV&   K/  	  V# \         P                  ! VS	4      pVP                  V8  d   \        R4      h\         P
                  P                  V 4      pVP                  p\        \	        V4      4       F  pW,          WV&   K  	  V# )z7
choice() implementation returning an array of samples
z@Cannot take a larger sample than population when 'replace=False')
r   r   r   r   r  r   r  r   rn  permutation)re   r   r#  r\  r   flr  r  
permuted_ar   r  r  s   &&&      r   r$  r%    s      "AhhtU+XXs2wA		))!Q/A#AMBE ( 
 hhtU+88a<$ &G H H  YY2215
XXs2wA&MBE (
r   NT)r   r   r  r  r   r   r   r   r  r   r   )re   r   r#  r  r$  r   r  r  s   &&&  @@@r   choicer+    s    !U[[!!vv{{		 
	 
	 
	 
	 
	 
Au}}	%	%		 
	 
	  
	  
	 
	 78; < 	< ejj!!	! 	!P =	 	< r   c                 (  aa \         P                  o\        R  4       o\        V \        P
                  4      '       g   \        RV : 24      h\        V\        P                  \        P                  34      '       g   \        RV: 24      hVR\        P                  39   d   RVV3R llpV# \        V\        P
                  4      '       d   RVV3R llpV# \        V\        P                  4      '       d   RVV3R llpV# \        RV: 24      h)	c                    VP                   pVP                  p\        V4      p\        ^ WE4       F  pRpT p\        ^ V^,
          4       FT  p	W,          p
\        P
                  P                  WV,          4      ;qWi,           &   W,          pV^ 8:  d    MWz,          pKV  	  V^ 8  g   K{  WWe,           ^,
          &   K  	  R# )r9   r   N)r   r   r  r   r   r   r  )r\  pvalsr   r(  szplenr  p_sumn_experimentsr  p_jn_js   &&&         r   multinomial_inner&multinomial.<locals>.multinomial_innerA  s     XXXX5zq"#A
 EM
 1dQh'h"$))"4"4]%K"PPi$ A% ( q #018a< - $r   z5np.random.multinomial(): n should be an integer, got zCnp.random.multinomial(): pvals should be an array or sequence, got Nc                Z   < \         P                  ! \        V4      S4      pS! WV4       V# )z
multinomial(..., size=None)
r   zerosr  r\  r.  r   r   r   r5  s   &&& r   multinomial_impl%multinomial.<locals>.multinomial_impli  s(     ((3u:u-Ca,Jr   c                ^   < \         P                  ! V\        V4      3S4      pS! WV4       V# )z
multinomial(..., size=int)
r8  r:  s   &&& r   r;  r<  r  s-     ((D#e*-u5Ca,Jr   c                j   < \         P                  ! V\        V4      3,           S4      pS! WV4       V# )z
multinomial(..., size=tuple)
r8  r:  s   &&& r   r;  r<  {  s/     ((43u:-/7Ca,Jr   zBnp.random.multinomial(): size should be int or tuple or None, got r   )r   r  r   r   r   r   r   Sequencer  r   	BaseTuple)r\  r.  r   r;  r   r5  s   &&& @@r   multinomialrA  <  s    GGE1 1< a''236 7 	7 eennekk:;;<AD E 	E ejj!!	 	< - 
D%--	(	(	 	*  
D%//	*	*	 	  8<? @ 	@r   c                 p    \        V \        P                  \        P                  34      '       d   R  pV# R# )c                 Z    \         P                  ! \        V 4      4      p\        W4       V# r   r   r   r  dirichlet_arr)r
  r   s   & r   dirichlet_impl!dirichlet.<locals>.dirichlet_impl  !    ((3u:&C%%Jr   N)r   r   r?  r  )r
  rF  s   & r   	dirichletrI    s.    %%..%++677	  8r   c                    \        V \        P                  \        P                  34      '       g   \	        R V : 24      hVR\        P
                  39   g   \        V4      '       d   RR lpV# \        V\        P                  4      '       d   RR lpV# \        V\        P                  4      '       d2   \        VP                  \        P                  4      '       d   RR lpV# \	        RV,          4      h)zAnp.random.dirichlet(): alpha should be an array or sequence, got Nc                 Z    \         P                  ! \        V 4      4      p\        W4       V# r   rD  r
  r   r   s   && r   rF  rG    rH  r   c                ^    \         P                  ! V\        V 4      34      p\        W4       V# )z
dirichlet(..., size=int)
rD  rL  s   && r   rF  rG    s(     ((D#e*-.C%%Jr   c                j    \         P                  ! V\        V 4      3,           4      p\        W4       V# )z
dirichlet(..., size=tuple)
rD  rL  s   && r   rF  rG    s*     ((43u:-/0C%%Jr   zJnp.random.dirichlet(): size should be int or tuple of ints or None, got %sr   )
r   r   r?  r  r   r   r   r   r   r   )r
  r   rF  s   && r   rI  rI    s    eennekk:;;+03
 	

 ejj!!^D%9%9	> 5 
D%--	(	(	0 ! 
D%..	)	)j9>/H /H	  ,.23
 	
r   c                    \        V 4       F  pV^ 8:  g   K  \        R4      h	  \        V 4      pVP                  pVP                  p\        ^ WC4       F  p^ p\        V 4       FQ  w  r\        P                  P                  V	^4      WVV,           &   WuWh,           ,          P                  4       ,          pKS  	  \        V 4       F   w  rWVV,           ;;,          V,          uu&   K"  	  K  	  R# )r9   zdirichlet: alpha must be > 0.0N)iterrn  r  r   r   r   	enumerater   r   r  item)
r
  r   a_vala_lenr   r   r  normrU  rw  s
   &&        r   rE  rE    s    
 eA:=>>  JE88D88D1d"e$DA))//!Q/DQKK$$&&D % e$DAQK4K % #r   c                     \        V \        P                  \        P                  34      '       d8   \        V\        P                  \        P                  34      '       d   R  pV# R# R# )c                 .    \        W4       \        W4      # r   #validate_noncentral_chisquare_inputnoncentral_chisquare_singler  noncs   &&r   noncentral_chisquare_impl7noncentral_chisquare.<locals>.noncentral_chisquare_impl  s    /9.r88r   Nr   )r  r\  r]  s   && r   noncentral_chisquarer_    sO    "u{{EMM233
5;;.90 90	9 )(903r   c                 t   VR \         P                  39   d   RR lpV# \        V4      '       d   RR lpV# \        V\         P                  4      '       gK   \        V\         P
                  4      '       d2   \        VP                  \         P                  4      '       d   RR lpV# \        RV,          4      h)Nc                 .    \        W4       \        W4      # r   rX  r  r\  r   s   &&&r   r]  r^    s    0:/99r   c                 V    \        W4       \        P                  ! \        W4      4      # r   )rY  r   r   rZ  rb  s   &&&r   r]  r^    s    0:HH8BCCr   c                     \        W4       \        P                  ! V4      pVP                  p\	        VP
                  4       F  p\        W4      WE&   K  	  V# r   )rY  r   r   r   r   r   rZ  )r  r\  r   r   r   rZ   s   &&&   r   r]  r^    sC    0:88D>SXchh!<R!F (Zr   zUnp.random.noncentral_chisquare(): size should be int or tuple of ints or None, got %sr   )r   r   r   r   r   r   r   r   )r  r\  r   r]  s   &&& r   r_  r_    s    uzz""
: *	)t
D *	)
T5==
)
)ju~~.N.N2<TZZ=B]]3L 3L
 *	)-/34 
r   c                    \         P                  ! V4      '       d   \         P                  # ^V 8  do   \         P                  P	                  V ^,
          4      p\         P                  P                  4       \         P                  ! V4      ,           pW#V,          ,           # \         P                  P                  VR,          4      p\         P                  P	                  V ^V,          ,           4      # )r  r  )r   isnannanr   r  r   r  rs  )r  r\  chi2r\  r  s   &&   r   rZ  rZ  	  s    
 
xx~~vv2vyy""2a4(II%%'"''$-7!e| IId3h'yy""2A:..r   c                 N    V ^ 8:  d   \        R4      hV^ 8  d   \        R4      hR# )r9   zdf <= 0znonc < 0Nr  r[  s   &&r   rY  rY  	  s+    	Qw##ax$$ r   r   r*  )__doc__r  r   numpyr   llvmliter   numba.core.cgutilsr   r   numba.core.extendingr   r   r   numba.core.imputilsr   numba.core.typingr
   
numba.corer   r   numba.core.errorsr   numba.np.random._constantsr   registrylowerr  r   ry   r   rD  ra   r  r   rR   LiteralStructType	ArrayTypernd_state_tPointerTyper!   r-   r1   r4   r6   r>   rA   rC   rE   rM   r^   rg   r   r   r   r   r   random_samplesampleranfr   r   r  normalvariater   r   r   r   r   r   r  r  r!  r   r   getrandbitsrZ  r{  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r  r   r  r  r  r;  r  r2  r  r  r  r  r.  r8  betavariater<  r  r@  r:  rK  expovariaterQ  rZ  rW  re  rj  rn  rp  rv  r|  r  lognormvariater  r{  paretovariater  r  r  weibullvariater  r  r  r  vonmisesvariater  r  r  r  r  r  r  r  r  r  r  r  r
  r  r  r$  r5  r2  r=  r?  rC  rG  rN  rE  rS  rU  rY  r\  rc  r[  rg  rl  ri  negative_binomialru  rs  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+  rA  rI  rE  r_  rZ  rY  r   r   r   <module>r     s9  
     : F F ( ' % , /L!
**R.
**R.#	
++gq
! ""LL!
$  ..- "117::::21.b 
&++  
"))..   
$ 
&--  
"))

	"))
!
!"	"))

	"))..   #  
"))

	"))
!
!"	"))

	"))..   # $ 
&,,	&

	2   	2 
"))
#
#$	"))

.  %. 
"))

6 6
 
"))

	4 	4 
"))
#
#$ %$ 
"))

 0$%PQ" 
&

" "(CEL 
&

; ;
 
&

D D
* 
&

B B4 
&..: :
 
"))

5 5
 
"))

2 20 
"))

 0 
"))

/ / 
&..	( 	( 
"))

	2 	2	 
"))

 2 
&

  
&

 $ 
"))

  $ 
"))

  , 
&

1 1 
"))
"
"#	"))//9  $9
 
"))// 8v 
"))// $ 
"))
"
"# $$ 
&

6 6 
"))..  
")).. & 
&

  
"))

  ! 
"))

  !$ 
"))
(
()	"))

  ! * 
"))
(
() *& 
"))

1 1 
"))

; ;
 
"))

3 3 
"))

 $ 
&

 / !/9 
&

   
"))

  
"))

 $ 
&

 	 !	 
"))

  
"))

 $ 
&
 
 !4 "4
 
"))

7 7
)X 
"))

 $ 
"))

4 4n 
"))

 & 
"))

  
"))

 " 
"))++  
"))++ , 
"))

 . 
"))

 $ 
"))

  
"))

 $ 
"))
"
"# $. 
"))
"
"# $( 
"))

/ / 
"))

7 7
 
"))

  
"))

 $3 
"))

0 0 
"))

8 8
 
"))

  
"))

 $1
* 
"))

 
 
"))

 " 
"))
%
%& ' 
"))

* * 
"))

>& >&B 
"))

 ( 
"))//  
"))// $ 
"))

+ + 
"))

  
"))

 $ 
"))
#
#$ % 
"))
#
#$ %$ 
"))

   
"))

  " 
")).. ( 
")).. $ 
")).. , 
")).. ": 
&..$ $ 
"))

$ $ 
"))

  !& 
"))..  
"))// " 
"))

P Pl 
"))

 J !J` 
"))

  
"))

( (V    2 
"))
(
()) *) 
"))
(
() *> / /" % %r   