Ë
    èÿæiÔ  ã                   óì   — d dl Z d dlZd dlZd dlZd dlZd dlZd dl mZ d dlm	Z	m
Z
 d dlmZ d dlmZmZmZ d dlmZmZ d dlmZ d dlmZmZ d	Z G d
„ de	«      Zd„ Z G d„ de
e	«      Z G d„ de	e«      Zy)é    N)Útypes)ÚTestCaseÚMemoryLeakMixin)Ú_get_proper_func©Únext_uint32Únext_uint64Únext_double)ÚMT19937Ú	Generator)ÚTypingError)Úrun_in_new_process_cachingÚSerialMixini   c                   ó   — e Zd Zd„ Zd„ Zd„ Zy)ÚTestHelperFuncsc                 ó„  — d„ }d„ }| j                   t        ||t        j                  «      d   «       d«       | j                   t        ||t        j                  «      d   «       d«       | j                  t        «      5 }t        ||t        j                  «       d d d «       | j                  dt        j                  «      «       | j                  t        «      5 }t        ||t        j                  «       d d d «       | j                  dt        |j                  «      «       y # 1 sw Y   Œ�xY w# 1 sw Y   Œ;xY w)Nc                   ó   — y)Né    © r   ó    úr/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/numba/tests/test_np_randomgen.pyÚtest_32bit_funczBTestHelperFuncs.test_proper_func_provider.<locals>.test_32bit_func   ó   € Ør   c                   ó   — y)Né@   r   r   r   r   Útest_64bit_funczBTestHelperFuncs.test_proper_func_provider.<locals>.test_64bit_func   r   r   r   r   r   z1Argument dtype is not one of the expected type(s))ÚassertEqualr   ÚnpÚfloat64Úfloat32ÚassertRaisesr   Úint32ÚassertInÚstrÚ	exceptionr   )Úselfr   r   Úraisess       r   Útest_proper_func_providerz)TestHelperFuncs.test_proper_func_provider   s  € ò	ò	ð 	×Ñð (Ô)¨/¸?ÜŸ™ó%Ø%&ñ(ó *Ø+-ô	/à×Ñð (Ô)¨/¸?ÜŸ™ó%Ø%&ñ(ó *Ø+-ô	/ð ×Ñœ{Ô+¨vÜ˜_¨o¼r¿x¹xÔH÷ ,à�‰Ø?Ü�× Ñ Ó!ô	
ð ×Ñœ{Ô+¨vÜ˜_¨o¼u¿}¹}ÔM÷ ,à�‰Ø?Ü�× Ñ Ó!õ	
÷ ,Ð+ú÷ ,Ð+ús   ÂD*Ã D6Ä*D3Ä6D?c                 ó�  — t         j                  j                  d«      }d„ } t        j                  d¬«      |«      }| j                  t        «      5 } ||«       d d d «       d}| j                  t        j                  |t        j                  «      «      d uddt        |j                  «      › �z   «       y # 1 sw Y   Œ`xY w)Né   c                 ó&   — | j                  d¬«      S )N)r   )Úloc©Únormal©Úxs    r   Ú<lambda>z2TestHelperFuncs.test_check_types.<locals>.<lambda>6   s   € ˜AŸH™H¨˜HÔ.r   T©ÚcachezŸArgument loc is not one of the expected type\(s\): \[<class 'numba.core.types.*.Float'>, <class 'numba.core.types.*.Integer'>, <class 'int'>, <class 'float'>\]z0Expected pattern not found in exception message.z Found )r   ÚrandomÚdefault_rngÚnumbaÚnjitr!   r   Ú
assertTrueÚreÚsearchr$   r%   )r&   ÚrngÚpy_funcÚ
numba_funcr'   Úexpected_patterns         r   Útest_check_typesz TestHelperFuncs.test_check_types4   sª   € Ü�i‰i×#Ñ# AÓ&ˆÙ.ˆØ+”U—Z‘Z dÔ+¨GÓ4ˆ
Ø×Ñœ{Ô+¨vÙ�sŒO÷ ,ð0ð 	ð 	�‰Ü�I‰IÐ&¬¨F×,<Ñ,<Ó(=Ó>ÀdÐJØ>Ø”c˜&×*Ñ*Ó+Ð,Ð-ñ.õ	
÷ ,Ð+ús   Á	B<Â<Cc           	      ó  — t         j                  j                  d«      }d„ } t        j                  «       |«      } t        j                  «       |«      }d„ } t        j                  «       |«      }t        j
                  t         j                  «      j                  t        j
                  t         j                  «      j                  t         j                  ft        j
                  t         j                  «      j                  t        j
                  t         j                  «      j                  t         j                  ft        j
                  t         j                  «      j                  t        j
                  t         j                  «      j                  t         j                  ft        j
                  t         j                  «      j                  t        j
                  t         j                  «      j                  t         j                  ft        j
                  t         j                  «      j                  t        j
                  t         j                  «      j                  t         j                  ft        j
                  t         j                  «      j                  t        j
                  t         j                  «      j                  t         j                  fg}|D �]  \  }}}	| j                  |||	¬«      5  | j                  t         «      5 }
 |||dz
  ||	«       d d d «       | j#                  dt%        
j&                  «      «       | j                  t         «      5 }
 ||||dz   |	«       d d d «       | j#                  dt%        |
j&                  «      «       | j                  t         «      5 }
 ||||dz   |	«       d d d «       | j#                  dt%        |
j&                  «      «       d d d «       �Œ t        j
                  t         j(                  «      j                  t        j
                  t         j(                  «      j                  t         j(                  }	}}| j                  t         «      5 }
 |||dz
  ||	«       d d d «       | j#                  dt%        
j&                  «      «       t        j
                  t         j*                  «      j                  t        j
                  t         j*                  «      j                  t         j*                  }	}}| j                  t         «      5 }
 ||||dz   |	«       d d d «       | j#                  dt%        |
j&                  «      «       | j                  t         «      5 }
 ||||dz   |	«       d d d «       | j#                  dt%        |
j&                  «      «       | j                  t         «      5 }
 ||dd	t         j                  «       d d d «       | j#                  d
t%        |
j&                  «      «       y # 1 sw Y   �Œ xY w# 1 sw Y   �Œ¼xY w# 1 sw Y   �ŒxxY w# 1 sw Y   �ŒpxY w# 1 sw Y   �ŒÌxY w# 1 sw Y   �ŒxY w# 1 sw Y   ŒÙxY w# 1 sw Y   Œ‰xY w)Nr*   c                 ó,   — | j                  |||d¬«      S )NT©ÚlowÚhighÚdtypeÚendpoint©Úintegers©r0   rC   rD   rE   s       r   r1   z9TestHelperFuncs.test_integers_arg_check.<locals>.<lambda>J   s   € Ø�J‰J˜3 T°ÀˆJÔFr   c                 ó,   — | j                  |||d¬«      S )NFrB   rG   rI   s       r   r1   z9TestHelperFuncs.test_integers_arg_check.<locals>.<lambda>O   s   € Ø�J‰J˜3 T°ÀˆJÔGr   ©rC   rD   rE   zlow is out of boundszhigh is out of boundsé   éi   éd   z*low is greater than high in given interval)r   r4   r5   r6   r7   ÚiinfoÚuint8ÚminÚmaxÚint8Úuint16Úint16Úuint32r"   ÚsubTestr!   Ú
ValueErrorr#   r$   r%   Úuint64Úint64)r&   r;   r<   r=   Únumba_func_lowÚnumba_func_endpoint_falseÚcasesrC   rD   rE   r'   s              r   Útest_integers_arg_checkz'TestHelperFuncs.test_integers_arg_checkH   s~  € Ü�i‰i×#Ñ# AÓ&ˆñGˆà!”U—Z‘Z“\ 'Ó*ˆ
Ø%œŸ™› gÓ.ˆñHˆà$0¤E§J¡J£L°Ó$9Ð!ô �X‰X”b—h‘hÓ×#Ñ#¤R§X¡X¬b¯h©hÓ%7×%;Ñ%;¼R¿X¹XÐFÜ�X‰X”b—g‘gÓ×"Ñ"¤B§H¡H¬R¯W©WÓ$5×$9Ñ$9¼2¿7¹7ÐCÜ�X‰X”b—i‘iÓ ×$Ñ$¤b§h¡h¬r¯y©yÓ&9×&=Ñ&=¼r¿y¹yÐIÜ�X‰X”b—h‘hÓ×#Ñ#¤R§X¡X¬b¯h©hÓ%7×%;Ñ%;¼R¿X¹XÐFÜ�X‰X”b—i‘iÓ ×$Ñ$¤b§h¡h¬r¯y©yÓ&9×&=Ñ&=¼r¿y¹yÐIÜ�X‰X”b—h‘hÓ×#Ñ#¤R§X¡X¬b¯h©hÓ%7×%;Ñ%;¼R¿X¹XÐFð
ˆô !&ÑˆC��uØ—‘ #¨D¸�Õ>Ø×&Ñ&¤zÔ2°fá" 3¨¨a©°°uÔ=÷ 3ð —‘Ø*Ü˜×(Ñ(Ó)ôð
 ×&Ñ&¤zÔ2°fá˜s C¨°©°5Ô9÷ 3ð —‘Ø+Ü˜×(Ñ(Ó)ôð
 ×&Ñ&¤zÔ2°fá-¨c°3¸¸q¹À%ÔH÷ 3ð —‘Ø+Ü˜×(Ñ(Ó)ô÷) ?Ñ>ð !&ô4 ŸH™H¤R§Y¡YÓ/×3Ñ3ÜŸH™H¤R§Y¡YÓ/×3Ñ3´R·Y±Yð ˆTˆà×ÑœzÔ*¨fá˜3  a¡¨¨uÔ5÷ +ð 	�‰Ø"Ü�× Ñ Ó!ô	
ô
 ŸH™H¤R§X¡XÓ.×2Ñ2ÜŸH™H¤R§X¡XÓ.×2Ñ2´B·H±Hð ˆTˆà×ÑœzÔ*¨fá�s˜C ¨¡¨5Ô1÷ +ð 	�‰Ø#Ü�× Ñ Ó!ô	
ð
 ×ÑœzÔ*¨fá% c¨3°°q±¸%Ô@÷ +ð 	�‰Ø#Ü�× Ñ Ó!ô	
ð
 ×ÑœzÔ*¨fÙ�s˜C ¤b§i¡iÔ0÷ +à�‰Ø8Ü�× Ñ Ó!õ	
÷m 3Ñ2ú÷ 3Ñ2ú÷ 3Ñ2ú÷# ?Ñ>ú÷6 +Ñ*ú÷ +Ñ*ú÷ +Ð*ú÷ +Ð*ús†   ÌYÌX'Ì)AYÍ+X4Í:AYÎ<YÏ-YÒYÔ=Y(ÖY5×ZØ'X1Ø,YØ4X>Ø9YÙYÙYÙY	ÙY%Ù(Y2Ù5Y>ÚZ
N)Ú__name__Ú
__module__Ú__qualname__r(   r?   r^   r   r   r   r   r      s   „ ò
ò4
ó(O
r   r   c                  ó  — t         j                  j                  d«      } t         j                  j                  d«      }d„ } t        j                  d¬«      |«      }t        j
                  |j                  d«       || «      «      sJ ‚y )Nr*   c                 ó$   — | j                  d«      S ©Né
   ©r4   r/   s    r   r1   z(test_generator_caching.<locals>.<lambda>�   s   € ˜Ÿ™ œr   Tr2   re   )r   r4   r5   r6   r7   Úallclose)Únb_rngÚnp_rngr<   r=   s       r   Útest_generator_cachingrj   š   sf   € Ü�Y‰Y×"Ñ" 1Ó%€FÜ�Y‰Y×"Ñ" 1Ó%€FÙ$€GØ'”—‘ $Ô'¨Ó0€JÜ�;‰;�v—}‘} RÓ(©*°VÓ*<Ô=Ð=Ñ=r   c                   ó0  — e Zd Z	 	 	 d1d„Zd2d„Zd„ Zd„ Zd„ Zd„ Zd„ Z	d	„ Z
d
„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Z d „ Z!d!„ Z"d"„ Z#d#„ Z$d$„ Z%d%„ Z&d&„ Z'd'„ Z(d(„ Z)d)„ Z*d*„ Z+d+„ Z,d,„ Z-d-„ Z.d.„ Z/d/„ Z0d0„ Z1y)3ÚTestRandomGeneratorsNc                 ó  — t        j                  |«      }|€d}|€At        j                  j	                  |¬«      }t        j                  j	                  |¬«      }n"t         ||«      «      }t         ||«      «      } ||||«      }	|j                  |||«      }
t        |	t        j                  «      r.t        j                  |	j                  t        j                  «      st        |	t        «      r$t        j                  j                  |
|	||¬«       n t        j                  j                  |	|
«       |j                   j"                  d   }|j                   j"                  d   }|D ]  }| j%                  ||   ||   «       Œ y )Nr*   ©Úseed)ÚmaxulprE   Ústate)r6   r7   r   r4   r5   r   r<   Ú
isinstanceÚndarrayÚ
issubdtyperE   ÚfloatingÚfloatÚtestingÚassert_array_max_ulpÚassert_equalÚbit_generatorrq   ÚassertPreciseEqual)r&   Údistribution_funcÚbitgen_typero   Ú	test_sizeÚ
test_dtypeÚulp_precÚnumba_rng_instanceÚnumpy_rng_instanceÚ	numba_resÚ	numpy_resÚnumba_gen_stateÚnumpy_gen_stateÚ
_state_keys                 r   Úcheck_numpy_parityz'TestRandomGenerators.check_numpy_parity£   s^  € ô
 "ŸJ™JÐ'8Ó9ÐØˆ<ØˆDØÐÜ!#§¡×!6Ñ!6¸DÐ!6Ó!AÐÜ!#§¡×!6Ñ!6¸DÐ!6Ó!AÑä!*©;°tÓ+<Ó!=ÐÜ!*©;°tÓ+<Ó!=Ðñ &Ð&8Ø&/°ó=ˆ	à%×-Ñ-Ð.@Ø.7¸óEˆ	ô �y¤"§*¡*Ô-Ü�M‰M˜)Ÿ/™/¬2¯;©;Ô7Ü˜i¬Ô/ä�J‰J×+Ñ+¨I°yØ3;À:ð ,õ Oô �J‰J×#Ñ# I¨yÔ9ð -×:Ñ:×@Ñ@ÀÑIˆØ,×:Ñ:×@Ñ@ÀÑIˆã)ˆJØ×#Ñ# O°JÑ$?Ø$3°JÑ$?õAñ *r   c                 óv  ‡— t         j                  j                  |¬«      }t         j                  j                  |¬«      }t        |j                  j
                  |«      } ||j                  j
                  j                  «      }t        j                  ˆfd„«      } ||«      }	| j                  |	|«       y )Nrn   c                 ó(   •—  ‰| j                   «      S ©N)rz   )r0   Úbitgen_funcs    €r   r1   z?TestRandomGenerators._test_bitgen_func_parity.<locals>.<lambda>Ò   s   ø€ ©+°a·o±oÔ*Fr   )
r   r4   r5   Úgetattrrz   Úctypesrq   r6   r7   r{   )
r&   Ú	func_namerŒ   ro   r�   r‚   Ú
numpy_funcr„   r=   rƒ   s
     `       r   Ú_test_bitgen_func_parityz-TestRandomGenerators._test_bitgen_func_parityË   s“   ø€ ÜŸY™Y×2Ñ2¸Ð2Ó=ÐÜŸY™Y×2Ñ2¸Ð2Ó=ÐäÐ/×=Ñ=×DÑDÀiÓPˆ
ÙÐ1×?Ñ?×FÑF×LÑLÓMˆ	ä—Z‘ZÓ FÓGˆ
ÙÐ1Ó2ˆ	à×Ñ 	¨9Õ5r   c                 ó|  — t         j                  j                  «       }t        |«      D ]„  \  }}|j	                  «       }||   ||<   |g|z   }t        j                  |«      }	| j                  t        «      5 }
 |	|Ž  d d d «       | j                  d|› d�t        
j                  «      «       Œ† y # 1 sw Y   Œ5xY w)Nz	Argument z$ is not one of the expected type(s):)r   r4   r5   Ú	enumerateÚcopyr6   r7   r!   r   r#   r$   r%   )r&   Ú	dist_funcÚarg_listÚ
valid_argsÚinvalid_argsr;   ÚidxÚ_argÚ	curr_argsÚnb_dist_funcr'   s              r   Ú_check_invalid_typesz)TestRandomGenerators._check_invalid_types×   s¨   € ä�i‰i×#Ñ#Ó%ˆÜ" 8Ö,‰IˆC�Ø"Ÿ™Ó)ˆIØ)¨#Ñ.ˆI�c‰NØ˜ 	Ñ)ˆIÜ Ÿ:™: iÓ0ˆLØ×"Ñ"¤;Ô/°6Ù˜iÑ(÷ 0à�M‰MØ˜D˜6Ð!EÐFÜ�F×$Ñ$Ó%õñ -÷
 0Ð/ús   Á8B2Â2B;	c                 óð   — t         j                  j                  «       }t        j                  d„ «      }| j                  | ||«      «       | j                  t        |«      t         ||«      «      «       y )Nc                 ó   — | S r‹   r   r/   s    r   r1   zATestRandomGenerators.test_npgen_boxing_unboxing.<locals>.<lambda>è   s   € ©!r   )r   r4   r5   r6   r7   r   Úid)r&   Úrng_instancer=   s      r   Útest_npgen_boxing_unboxingz/TestRandomGenerators.test_npgen_boxing_unboxingæ   sV   € Ü—y‘y×,Ñ,Ó.ˆÜ—Z‘Z¡Ó,ˆ
Ø×Ñ˜¡z°,Ó'?Ô@Ø×Ñœ˜LÓ)¬2©j¸Ó.FÓ+GÕHr   c                 óˆ  — t         j                  j                  «       }t        j                  d„ «      }t        j                  d„ «      } ||«      }t        j                  «        t        j                  |«      }~ ||«       t        j                  «        t        j                  |«      }| j                  ||dz   «       y )Nc                 ó"   — | j                  «       S r‹   rf   r/   s    r   r1   zATestRandomGenerators.test_npgen_boxing_refcount.<locals>.<lambda>î   s
   €  Q§X¡X¤Zr   c                 ó   — | S r‹   r   r/   s    r   r1   zATestRandomGenerators.test_npgen_boxing_refcount.<locals>.<lambda>ï   s   € ¡Qr   r*   )
r   r4   r5   r6   r7   ÚgcÚcollectÚsysÚgetrefcountr   )r&   r¡   Úno_boxÚdo_boxÚyÚref_1Úref_2s          r   Útest_npgen_boxing_refcountz/TestRandomGenerators.test_npgen_boxing_refcountì   sˆ   € Ü—y‘y×,Ñ,Ó.ˆÜ—‘Ñ/Ó0ˆÜ—‘™JÓ'ˆá�<Ó ˆÜ
�
‰
ŒÜ—‘ Ó-ˆØÙˆ|ÔÜ
�
‰
ŒÜ—‘ Ó-ˆà×Ñ˜ ¨¡	Õ*r   c                 óÊ   — g d¢}t         t        t        g}t        ||«      D ]3  \  }}| j	                  ||¬«      5  | j                  ||«       d d d «       Œ5 y # 1 sw Y   Œ@xY w)Nr   )Ú_funcÚ
_func_name)r   r	   r
   ÚziprW   r‘   )r&   Ú
func_namesÚfuncsr±   r²   s        r   Útest_bitgen_funcsz&TestRandomGenerators.test_bitgen_funcsû   sY   € ÚBˆ
Üœk¬;Ð7ˆä!$ U¨JÖ!7ÑˆE�:Ø—‘ E°j�ÕAØ×-Ñ-¨j¸%Ô@÷ BÐAñ "8ßAÐAús   »AÁA"	c                 ó  — g d¢}t         j                  t         j                  t         j                  t         j                  t         j
                  t         j                  t         j                  t         j                  g}d t        g}d„ }| j                  «       5  | j                  |d d d¬«       d d d «       d„ }|D ]C  }|D ]<  }|D ]5  }| j                  |||¬«      5  | j                  ||d ||d«       d d d «       Œ7 Œ> ŒE g d¢}d t        g}d„ }|D ]I  }|D ]B  }| j                  ||¬«      5  | j                  ||d |t         j                  d«       d d d «       ŒD ŒK d	„ }| j                  «       5  | j                  |d d ¬
«       d d d «       d„ }| j                  |g d¢dddt         j                  dgdddt         j                  dg«       y # 1 sw Y   �Œ"xY w# 1 sw Y   �Œ xY w# 1 sw Y   ŒÚxY w# 1 sw Y   ŒoxY w)N©Nr   )rN   ©re   é   é   c                 ó&   — | j                  dd«      S ©Nr   rN   rG   ©r0   ÚsizerE   s      r   r1   z4TestRandomGenerators.test_integers.<locals>.<lambda>
  s   € ¨!¯*©*°Q¸Ô*<r   r   ©r~   r   r€   c                 ó,   — | j                  dd||¬«      S )Né   re   ©r¿   rE   rG   r¾   s      r   r1   z4TestRandomGenerators.test_integers.<locals>.<lambda>  s   € Ø�J‰J�q˜" 4¨uˆJÔ5r   ©Ú_sizeÚ_dtypeÚ_bitgenc                 óH   — | j                  dd|t        j                  ¬«      S )NFTrÃ   )rH   r   Úbool_r¾   s      r   r1   z4TestRandomGenerators.test_integers.<locals>.<lambda>  s   € Ø�J‰J�u˜d¨´R·X±XˆJÔ>r   ©rÅ   rÇ   c                 ór   — | j                  t        j                  d«      t        j                  d«      «      S r½   )rH   r   rP   rZ   r¾   s      r   r1   z4TestRandomGenerators.test_integers.<locals>.<lambda>'  s    € Ø�J‰J”r—x‘x “{¤B§H¡H¨S£MÔ2r   ©r~   r   c                 ó.   — | j                  |||||¬«      S )N©rC   rD   r¿   rE   rF   rG   )r0   rC   rD   r¿   rE   rF   s         r   r1   z4TestRandomGenerators.test_integers.<locals>.<lambda>-  s   € Ø�J‰J˜3 T°Ø"¨Xð ô 7r   rÎ   r*   rÂ   ©r*   Tr0   r/   )r   rZ   r"   rU   rS   rY   rV   rT   rP   r   rW   rˆ   rÉ   r�   r   ©r&   Ú
test_sizesÚtest_dtypesÚbitgen_typesr•   rÅ   rÆ   rÇ   s           r   Útest_integersz"TestRandomGenerators.test_integers  sá  € Ú5ˆ
Ü—x‘x¤§¡¬2¯8©8´R·W±WÜ—y‘y¤"§)¡)¬R¯Y©Y¼¿¹ðBˆàœg�ˆñ =ˆ	Ø�\‰\�^Ø×#Ñ# I¸Ø/3¸að $ô A÷ ñ6ˆ	ãˆEÛ%�Û+�GØŸ™¨E¸&Ø.5ð &õ 7à×/Ñ/°	¸7Ø04°e¸VÀQôH÷7ð 7ñ  ,ñ &ð  ò 6ˆ
Øœg�ˆñ?ˆ	ãˆEÛ'�Ø—\‘\¨Ø*1ð "õ 3à×+Ñ+¨I°wØ,0°%¼¿¹À1ôF÷3ð 3ñ (ð  ñ3ˆ	à�\‰\�^Ø×#Ñ# I¸Ø/3ð $ô 5÷ ñ7ˆ	ð 	×!Ñ! )Ú"NØ#$ a¨¬r¯x©x¸Ð">Ø#&¨¨V´R·Z±ZÀÐ"Eõ	G÷K ‰^ú÷7ñ 7ú÷3ð 3ú÷ ˆ^ús0   ÂGÃG	Ä/%G*Å3G6ÇGÇG'Ç*G3Ç6G?c           
      óT  ‡‡— g ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘dd	t         j                  f‘d
d	t         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j
                  f‘ddt         j
                  f‘ddt         j
                  f‘ddt         j
                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘ddt         j                  f‘}d}|D ]?  \  ŠŠ}| j                  ‰‰|¬«      5  ˆˆfd„}| j                  |d d ||d«       d d d «       ŒA y # 1 sw Y   ŒLxY w)NrÂ   é   rN   r   l   ÿÿÿl   þÿÿÿ l   ÿÿÿÿ l   þÿÿÿl   ÿÿÿÿlüÿÿÿÿÿÿÿl   þÿ l   ÿÿ iþÿÿiÿÿÿi  ðiþÿ  iÿÿ  re   iþ  iÿ  iðÿÿéþ   éÿ   é   é   iñÿÿÿ)rL   é   rK   c                 ó.   •— | j                  ‰‰||¬«      S ©NrÃ   rG   )r0   r¿   rE   rD   rC   s      €€r   r1   z:TestRandomGenerators.test_integers_cases.<locals>.<lambda>k  s   ø€ Ø—J‘J˜s D¨t¸5�JÔAr   )r   rY   rZ   rV   r"   rT   rU   rP   rS   rW   rˆ   )r&   r]   r¿   rE   r•   rD   rC   s        @@r   Útest_integers_casesz(TestRandomGenerators.test_integers_cases6  s¡  ù€ ð/
à�”2—9‘9Ðð/
ð �”R—Y‘YÐð/
ð �œbŸi™iÐ(ð	/
ð
 Ð&¬¯	©	Ð2ð/
ð Ð"¤B§I¡IÐ.ð/
ð �”2—8‘8Ðð/
ð �”R—X‘XÐð/
ð �œbŸh™hÐ'ð/
ð Ð%¤r§x¡xÐ0ð/
ð Ð!¤2§8¡8Ð,ð/
ð  Ð!2´B·H±HÐ=ð/
ð �”2—9‘9Ðð/
ð  �”R—Y‘YÐð!/
ð" �¤§	¡	Ð*ð#/
ð$ �
œBŸI™IÐ&ð%/
ð( �”2—8‘8Ðð)/
ð* �”R—X‘XÐð+/
ð, �œrŸx™xÐ(ð-/
ð. �	œ2Ÿ8™8Ð$ð//
ð0 ˜¤B§H¡HÐ-ð1/
ð4 �”2—9‘9Ðð5/
ð6 �”R—Y‘YÐð7/
ð8 �
œBŸI™IÐ&ð9/
ð: �œŸ	™	Ð"ð;/
ð> �”2—8‘8Ðð?/
ð@ �”B—H‘HÐðA/
ðB �	œ2Ÿ8™8Ð$ðC/
ðD �”r—x‘xÐ ðE/
ðF �UœBŸH™HÐ%ðG/
ðJ �”2—8‘8ÐðK/
ðL �”B—H‘HÐðM/
ðN �œ"Ÿ(™(Ð#ðO/
ðP �”b—h‘hÐðQ/
ðT �”2—7‘7ˆOðU/
ðV �”B—G‘GÐðW/
ðX �œŸ™Ð!ðY/
ðZ �”R—W‘WÐð[/
ð\ �3œŸ™Ð ð]/
ˆð` ˆã %ÑˆC��uØ—‘ #¨D¸�Õ>ôB�	à×'Ñ'¨	°4Ø(,¨d°E¸1ô>÷ ?Ð>ñ !&ß>Ð>ús   Ë6LÌL'	c                 óÖ  — g d¢}t         j                  t         j                  g}d t        g}d„ }| j	                  «       5  | j                  |d d ¬«       d d d «       d„ }|D ]B  }|D ];  }|D ]4  }| j	                  |||¬«      5  | j                  ||d ||«       d d d «       Œ6 Œ= ŒD d„ }| j                  |ddgd	t         j                  gd
dg«       y # 1 sw Y   ŒxY w# 1 sw Y   Œ|xY w)Nr¸   c                 ó"   — | j                  «       S r‹   rf   r¾   s      r   r1   z2TestRandomGenerators.test_random.<locals>.<lambda>v  ó
   € ¨!¯(©(¬*r   rÌ   c                 ó(   — | j                  ||¬«      S rÝ   rf   r¾   s      r   r1   z2TestRandomGenerators.test_random.<locals>.<lambda>{  s   € ¨!¯(©(¸ÀE¨(Ô*Jr   rÄ   c                 ó(   — | j                  ||¬«      S rÝ   rf   r¾   s      r   r1   z2TestRandomGenerators.test_random.<locals>.<lambda>„  s   € Ø�H‰H˜$ eˆHÔ,r   r¿   rE   rÏ   r/   g        ©r   r    r   r   rW   rˆ   r�   rÐ   s           r   Útest_randomz TestRandomGenerators.test_randomp  s÷   € Ú5ˆ
Ü—z‘z¤2§:¡:Ð.ˆØœg�ˆñ 5ˆ	Ø�\‰\�^Ø×#Ñ# I¸Ø/3ð $ô 5÷ ñ Kˆ	ãˆEÛ%�Û+�GØŸ™¨E¸&Ø.5ð &õ 7à×/Ñ/°	¸7Ø04°e¸VôE÷7ð 7ñ  ,ñ &ð  ñ-ˆ	à×!Ñ! )¨f°gÐ->Ø#'¬¯©Ð"4°v¸r°lõ	D÷ ˆ^ú÷7ð 7úó   Á CÂC	ÃCÃC(c                 óÖ  — g d¢}t         j                  t         j                  g}d t        g}d„ }| j	                  «       5  | j                  |d d ¬«       d d d «       d„ }|D ]B  }|D ];  }|D ]4  }| j	                  |||¬«      5  | j                  ||d ||«       d d d «       Œ6 Œ= ŒD d„ }| j                  |ddgd	t         j                  gd
dg«       y # 1 sw Y   ŒxY w# 1 sw Y   Œ|xY w)Nr¸   c                 ó"   — | j                  «       S r‹   ©Ústandard_normalr¾   s      r   r1   z;TestRandomGenerators.test_standard_normal.<locals>.<lambda>�  ó   € ¨!×*;Ñ*;Ô*=r   rÌ   c                 ó(   — | j                  ||¬«      S rÝ   ré   r¾   s      r   r1   z;TestRandomGenerators.test_standard_normal.<locals>.<lambda>”  ó   € Ø×Ñ 4¨uÐÔ5r   rÄ   c                 ó(   — | j                  ||¬«      S rÝ   ré   r¾   s      r   r1   z;TestRandomGenerators.test_standard_normal.<locals>.<lambda>ž  rí   r   r¿   rE   rÏ   r/   r   rä   rÐ   s           r   Útest_standard_normalz)TestRandomGenerators.test_standard_normal‰  sø   € Ú5ˆ
Ü—z‘z¤2§:¡:Ð.ˆØœg�ˆñ >ˆ	Ø�\‰\�^Ø×#Ñ# I¸Ø/3ð $ô 5÷ ñ6ˆ	ó  ˆEÛ%�Û+�GØŸ™¨E¸&Ø.5ð &õ 7à×/Ñ/°	¸7Ø04°e¸VôE÷7ð 7ñ  ,ñ &ð  ñ6ˆ	à×!Ñ! )¨f°gÐ->Ø#'¬¯©Ð"4°v¸q°kõ	C÷! ˆ^ú÷7ð 7úræ   c                 óØ  — g d¢}t         j                  t         j                  g}d t        g}d„ }| j	                  «       5  | j                  |d d ¬«       d d d «       d„ }|D ]B  }|D ];  }|D ]4  }| j	                  |||¬«      5  | j                  ||d ||«       d d d «       Œ6 Œ= ŒD d„ }| j                  |g d¢dd	t         j                  gg d
¢«       y # 1 sw Y   Œ€xY w# 1 sw Y   Œ}xY w)Nr¸   c                 ó"   — | j                  «       S r‹   ©Ústandard_exponentialr¾   s      r   r1   z@TestRandomGenerators.test_standard_exponential.<locals>.<lambda>©  s   € ¨!×*@Ñ*@Ô*Br   rÌ   c                 ó(   — | j                  ||¬«      S rÝ   rò   r¾   s      r   r1   z@TestRandomGenerators.test_standard_exponential.<locals>.<lambda>®  s   € Ø×"Ñ"¨°EÐ"Ô:r   rÄ   c                 ó*   — | j                  |||¬«      S )N©Úmethodr¿   rE   rò   )r0   r÷   r¿   rE   s       r   r1   z@TestRandomGenerators.test_standard_exponential.<locals>.<lambda>¹  s   € Ø×"Ñ"¨&°tÀ5Ð"ÔIr   rö   ÚzigrÏ   )r   r/   r   rä   rÐ   s           r   Útest_standard_exponentialz.TestRandomGenerators.test_standard_exponential£  sô   € Ú5ˆ
Ü—z‘z¤2§:¡:Ð.ˆØœg�ˆñ Cˆ	Ø�\‰\�^Ø×#Ñ# I¸Ø/3ð $ô 5÷ ñ;ˆ	ó  ˆEÛ%�Û+�GØŸ™¨E¸&Ø.5ð &õ 7à×/Ñ/°	¸7Ø04°e¸VôE÷7ð 7ñ  ,ñ &ð  ñJˆ	à×!Ñ! )Ò-HØ#(¨$´·
±
Ð";º^õ	M÷# ˆ^ú÷7ð 7ús   Á CÂC 	ÃCÃ C)c                 ó  — g d¢}t         j                  t         j                  g}d t        g}d„ }|D ]B  }|D ];  }|D ]4  }| j	                  |||¬«      5  | j                  ||d ||«       d d d «       Œ6 Œ= ŒD y # 1 sw Y   ŒExY w)Nr¸   c                 ó*   — | j                  ||d¬«      S )NÚinv)r¿   rE   r÷   rò   r¾   s      r   r1   zDTestRandomGenerators.test_standard_exponential_inv.<locals>.<lambda>Ã  s   € Ø×"Ñ"¨°EÀ5Ð"ÔIr   rÄ   )r   r    r   r   rW   rˆ   rÐ   s           r   Útest_standard_exponential_invz2TestRandomGenerators.test_standard_exponential_inv¾  s�   € Ú5ˆ
Ü—z‘z¤2§:¡:Ð.ˆØœg�ˆñJˆ	ãˆEÛ%�Û+�GØŸ™¨E¸&Ø.5ð &õ 7à×/Ñ/°	¸7Ø04°e¸VôE÷7ð 7ñ  ,ñ &ñ  ÷7ð 7ús   ÁA8	Á8Bc                 ój  — g d¢}t         j                  t         j                  g}d t        g}d„ }|D ]G  }|D ]@  }|D ]9  }| j	                  |||¬«      5  | j                  ||d ||t        «       d d d «       Œ; ŒB ŒI d„ }| j                  |g d¢ddt         j                  gg d¢«       y # 1 sw Y   ŒvxY w)	Nr¸   c                 ó*   — | j                  d||¬«      S )Nç      @©Úshaper¿   rE   ©Ústandard_gammar¾   s      r   r1   z:TestRandomGenerators.test_standard_gamma.<locals>.<lambda>Ò  s   € Ø×Ñ 3¨T¸ÐÔ?r   rÄ   c                 ó*   — | j                  |||¬«      S )Nr  r  )r0   r  r¿   rE   s       r   r1   z:TestRandomGenerators.test_standard_gamma.<locals>.<lambda>Ü  s   € Ø×Ñ 5¨t¸5ÐÔAr   r  r   rÏ   )r0   r/   r   )r   r    r   r   rW   rˆ   Úadjusted_ulp_precr�   rÐ   s           r   Útest_standard_gammaz(TestRandomGenerators.test_standard_gammaÍ  s¿   € Ú5ˆ
Ü—z‘z¤2§:¡:Ð.ˆØœg�ˆñ@ˆ	ãˆEÛ%�Û+�GØŸ™¨E¸&Ø.5ð &õ 7à×/Ñ/°	¸7Ø04°e¸VÜ0AôC÷7ð 7ñ  ,ñ &ð  ñBˆ	à×!Ñ! )Ò-GØ#&¨¬b¯j©jÐ"9Ò;Kõ	M÷7ð 7ús   ÁB)	Â)B2c                 ó~  — g d¢}d t         g}d„ }| j                  «       5  | j                  |d d t        ¬«       d d d «       d„ }|D ]?  }|D ]8  }| j                  ||¬«      5  | j                  ||d |d t        «       d d d «       Œ: ŒA d„ }| j	                  |g d¢g d¢g d	¢«       y # 1 sw Y   ŒnxY w# 1 sw Y   ŒpxY w)
Nr¸   c                 ó"   — | j                  «       S r‹   r-   r¾   s      r   r1   z2TestRandomGenerators.test_normal.<locals>.<lambda>é  rá   r   rÀ   c                 ó*   — | j                  dd|¬«      S )Nç      ø?rÛ   ©r,   Úscaler¿   r-   r¾   s      r   r1   z2TestRandomGenerators.test_normal.<locals>.<lambda>ï  s   € ¨!¯(©(°sÀ!È$¨(Ô*Or   rÊ   c                 ó*   — | j                  |||¬«      S ©Nr  r-   ©r0   r,   r  r¿   s       r   r1   z2TestRandomGenerators.test_normal.<locals>.<lambda>ö  s   € Ø�H‰H˜ E°ˆHÔ5r   r  ©r  rÛ   rÏ   ©r0   r0   r/   ©r   rW   rˆ   r  r�   ©r&   rÑ   rÓ   r•   rÅ   rÇ   s         r   Útest_normalz TestRandomGenerators.test_normalá  sÉ   € ò 6ˆ
Øœg�ˆñ 5ˆ	Ø�\‰\�^Ø×#Ñ# I¸Ø/3Ü->ð $ô @÷ ñ
 Pˆ	ÛˆEÛ'�Ø—\‘\¨°w�\Õ?Ø×+Ñ+¨I°wØ,0°%¸Ü,=ô?÷ @Ð?ñ (ð  ñ6ˆ	à×!Ñ! )Ò-EÚ"0Ò2Dõ	F÷ ˆ^ú÷ @Ð?úó    B'Á"B3Â'B0Â3B<c                 ó~  — g d¢}d t         g}d„ }| j                  «       5  | j                  |d d t        ¬«       d d d «       d„ }|D ]?  }|D ]8  }| j                  ||¬«      5  | j                  ||d |d t        «       d d d «       Œ: ŒA d„ }| j	                  |g d¢g d¢g d	¢«       y # 1 sw Y   ŒnxY w# 1 sw Y   ŒpxY w)
Nr¸   c                 ó"   — | j                  «       S r‹   ©Úuniformr¾   s      r   r1   z3TestRandomGenerators.test_uniform.<locals>.<lambda>  ó
   € ¨!¯)©)¬+r   rÀ   c                 ó*   — | j                  dd|¬«      S )Nr  rÛ   ©rC   rD   r¿   r  r¾   s      r   r1   z3TestRandomGenerators.test_uniform.<locals>.<lambda>	  s   € ¨!¯)©)¸À!È$¨)Ô*Or   rÊ   c                 ó*   — | j                  |||¬«      S )Nr  r  )r0   rC   rD   r¿   s       r   r1   z3TestRandomGenerators.test_uniform.<locals>.<lambda>  s   € Ø�I‰I˜# D¨tˆIÔ4r   r  r  r  r  r  s         r   Útest_uniformz!TestRandomGenerators.test_uniformû  sÉ   € ò 6ˆ
Øœg�ˆñ 6ˆ	Ø�\‰\�^Ø×#Ñ# I¸Ø/3Ü->ð $ô @÷ ñ
 Pˆ	ÛˆEÛ'�Ø—\‘\¨°w�\Õ?Ø×+Ñ+¨I°wØ,0°%¸Ü,=ô?÷ @Ð?ñ (ð  ñ5ˆ	à×!Ñ! )Ò-DÚ"0Ò2Dõ	F÷ ˆ^ú÷ @Ð?úr  c           
      ój  — g d¢}d t         g}d„ }| j                  «       5  | j                  |d d ¬«       d d d «       d„ }|D ]:  }|D ]3  }| j                  ||¬«      5  | j                  ||d |d «       d d d «       Œ5 Œ< d„ }| j                  |ddgd	d
gddg«       y # 1 sw Y   ŒixY w# 1 sw Y   ŒkxY w)Nr¸   c                 ó"   — | j                  «       S r‹   ©Úexponentialr¾   s      r   r1   z7TestRandomGenerators.test_exponential.<locals>.<lambda>  s
   € ¨!¯-©-¬/r   rÌ   c                 ó(   — | j                  d|¬«      S ©Nr  ©r  r¿   r"  r¾   s      r   r1   z7TestRandomGenerators.test_exponential.<locals>.<lambda>"  s   € ¨!¯-©-¸cÈ¨-Ô*Mr   rÊ   c                 ó(   — | j                  ||¬«      S ©Nr&  r"  ©r0   r  r¿   s      r   r1   z7TestRandomGenerators.test_exponential.<locals>.<lambda>(  s   € Ø�M‰M ¨DˆMÔ1r   r  r¿   r  rÏ   r0   r/   ©r   rW   rˆ   r�   r  s         r   Útest_exponentialz%TestRandomGenerators.test_exponential  sÌ   € ò 6ˆ
Øœg�ˆñ :ˆ	Ø�\‰\�^Ø×#Ñ# I¸Ø/3ð $ô 5÷ ñ Nˆ	ÛˆEÛ'�Ø—\‘\¨°w�\Õ?Ø×+Ñ+¨I°wØ,0°%¸ô?÷ @Ð?ñ (ð  ñ
2ˆ	à×!Ñ! )¨g°vÐ->Ø#&¨ +°°V¨}õ	>÷ ˆ^ú÷ @Ð?úó    BÁB)ÂB&Â)B2c                 óü   — g d¢}d t         g}d„ }|D ]?  }|D ]8  }| j                  ||¬«      5  | j                  ||d |d t        «       d d d «       Œ: ŒA d„ }| j	                  |g d¢g d¢g d¢«       y # 1 sw Y   ŒdxY w)Nr¸   c                 ó*   — | j                  dd|¬«      S )Nr   r  ©r  r  r¿   ©Úgammar¾   s      r   r1   z1TestRandomGenerators.test_gamma.<locals>.<lambda>4  s   € ¨!¯'©'¸À3Ø7;ð +2ô +=r   rÊ   c                 ó*   — | j                  |||¬«      S )Nr/  r0  )r0   r  r  r¿   s       r   r1   z1TestRandomGenerators.test_gamma.<locals>.<lambda><  s   € Ø�G‰G˜% u°4ˆGÔ8r   r/  ©r   r  rÏ   r  r  r  s         r   Ú
test_gammazTestRandomGenerators.test_gamma-  s�   € ò 6ˆ
Øœg�ˆñ=ˆ	ãˆEÛ'�Ø—\‘\¨°w�\Õ?Ø×+Ñ+¨I°wØ,0°%¸Ü,=ô?÷ @Ð?ñ (ð  ñ9ˆ	à×!Ñ! )Ò-GÚ"2Ò4Fõ	H÷ @Ð?úó   ­A2Á2A;c                 óü   — g d¢}d t         g}d„ }|D ]?  }|D ]8  }| j                  ||¬«      5  | j                  ||d |d t        «       d d d «       Œ: ŒA d„ }| j	                  |g d¢g d¢g d¢«       y # 1 sw Y   ŒdxY w)Nr¸   c                 ó*   — | j                  dd|¬«      S )Nr  g      @©ÚaÚbr¿   ©Úbetar¾   s      r   r1   z0TestRandomGenerators.test_beta.<locals>.<lambda>H  s   € ¨!¯&©&°3¸#ÀD¨&Ô*Ir   rÊ   c                 ó*   — | j                  |||¬«      S )Nr8  r;  )r0   r9  r:  r¿   s       r   r1   z0TestRandomGenerators.test_beta.<locals>.<lambda>P  s   € ¨¯©°!°q¸t¨Ô)Dr   r8  r3  r  r  r  s         r   Ú	test_betazTestRandomGenerators.test_betaA  sŒ   € ò 6ˆ
Øœg�ˆáIˆ	ÛˆEÛ'�Ø—\‘\¨°w�\Õ?Ø×+Ñ+¨I°wØ,0°%¸Ü,=ô?÷ @Ð?ñ (ð  ñ Eˆ	Ø×!Ñ! )Ò-?Ú"2Ò4Fõ	H÷ @Ð?úr5  c                 óü   — g d¢}d t         g}d„ }|D ]?  }|D ]8  }| j                  ||¬«      5  | j                  ||d |d t        «       d d d «       Œ: ŒA d„ }| j	                  |g d¢g d¢g d¢«       y # 1 sw Y   ŒdxY w)Nr¸   c                 ó*   — | j                  dd|¬«      S )NrL   rÛ   ©ÚdfnumÚdfdenr¿   ©Úfr¾   s      r   r1   z-TestRandomGenerators.test_f.<locals>.<lambda>[  s   € ¨!¯#©#°A¸QÀT¨#Ô*Jr   rÊ   c                 ó*   — | j                  |||¬«      S )NrA  rD  )r0   rB  rC  r¿   s       r   r1   z-TestRandomGenerators.test_f.<locals>.<lambda>c  s   € Ø�C‰C�e 5¨tˆCÔ4r   rA  )rÂ   r*   rÏ   r  r  r  s         r   Útest_fzTestRandomGenerators.test_fT  s‹   € ò 6ˆ
Øœg�ˆáJˆ	ÛˆEÛ'�Ø—\‘\¨°w�\Õ?Ø×+Ñ+¨I°wØ,0°%¸Ü,=ô?÷ @Ð?ñ (ð  ñ5ˆ	à×!Ñ! )Ò-GÚ".Ò0Bõ	D÷ @Ð?úr5  c                 óü   — g d¢}d t         g}d„ }|D ]?  }|D ]8  }| j                  ||¬«      5  | j                  ||d |d t        «       d d d «       Œ: ŒA d„ }| j	                  |ddgddgd	d
g«       y # 1 sw Y   ŒdxY w)Nr¸   c                 ó(   — | j                  d|¬«      S ©NrL   ©Údfr¿   ©Ú	chisquarer¾   s      r   r1   z5TestRandomGenerators.test_chisquare.<locals>.<lambda>o  s   € ¨!¯+©+¸À¨+Ô*Fr   rÊ   c                 ó(   — | j                  ||¬«      S ©NrK  rM  ©r0   rL  r¿   s      r   r1   z5TestRandomGenerators.test_chisquare.<locals>.<lambda>w  s   € Ø�K‰K˜2 DˆKÔ)r   rL  r¿   rL   rÏ   r0   r/   r  r  s         r   Útest_chisquarez#TestRandomGenerators.test_chisquareh  s”   € ò 6ˆ
Øœg�ˆáFˆ	ÛˆEÛ'�Ø—\‘\¨°w�\Õ?Ø×+Ñ+¨I°wØ,0°%¸Ü,=ô?÷ @Ð?ñ (ð  ñ*ˆ	à×!Ñ! )¨d°F¨^Ø#$ d )¨c°6¨]õ	<÷ @Ð?úr5  c           
      ód  — g d¢}d t         g}d„ }| j                  «       5  | j                  |d d ¬«       d d d «       d„ }|D ]:  }|D ]3  }| j                  ||¬«      5  | j                  ||d |d «       d d d «       Œ5 Œ< d„ }| j                  |dgdgd	g«       y # 1 sw Y   ŒfxY w# 1 sw Y   ŒhxY w)
Nr¸   c                 ó"   — | j                  «       S r‹   ©Ústandard_cauchyr¾   s      r   r1   z;TestRandomGenerators.test_standard_cauchy.<locals>.<lambda>„  rë   r   rÌ   c                 ó&   — | j                  |¬«      S ©N©r¿   rU  r¾   s      r   r1   z;TestRandomGenerators.test_standard_cauchy.<locals>.<lambda>‰  s   € ¨!×*;Ñ*;ÀÐ*;Ô*Fr   rÊ   c                 ó&   — | j                  |¬«      S rX  rU  )r0   r¿   s     r   r1   z;TestRandomGenerators.test_standard_cauchy.<locals>.<lambda>�  s   €  1×#4Ñ#4¸$Ð#4Ô#?r   r¿   rÏ   r/   r*  r  s         r   Útest_standard_cauchyz)TestRandomGenerators.test_standard_cauchy|  sÆ   € ò 6ˆ
Øœg�ˆñ >ˆ	Ø�\‰\�^Ø×#Ñ# I¸Ø/3ð $ô 5÷ ñ Gˆ	ÛˆEÛ'�Ø—\‘\¨°w�\Õ?Ø×+Ñ+¨I°wØ,0°%¸ô?÷ @Ð?ñ (ð  ñ @ˆ	Ø×!Ñ! )¨f¨XØ#' &¨6¨(õ	4÷ ˆ^ú÷ @Ð?ús    BÁB&ÂB#Â&B/c           
      óò   — g d¢}d t         g}d„ }|D ]:  }|D ]3  }| j                  ||¬«      5  | j                  ||d |d «       d d d «       Œ5 Œ< d„ }| j                  |ddgddgd	d
g«       y # 1 sw Y   Œ_xY w)Nr¸   c                 ó(   — | j                  d|¬«      S ©Nç      ð?©r9  r¿   ©Úparetor¾   s      r   r1   z2TestRandomGenerators.test_pareto.<locals>.<lambda>›  s   € ¨!¯(©(°S¸t¨(Ô*Dr   rÊ   c                 ó(   — | j                  ||¬«      S ©Nr`  ra  ©r0   r9  r¿   s      r   r1   z2TestRandomGenerators.test_pareto.<locals>.<lambda>¢  s   €  a§h¡h°¸ hÔ&>r   r9  r¿   r*   rÏ   r0   r/   r*  r  s         r   Útest_paretoz TestRandomGenerators.test_pareto”  s‘   € ò 6ˆ
Øœg�ˆáDˆ	ÛˆEÛ'�Ø—\‘\¨°w�\Õ?Ø×+Ñ+¨I°wØ,0°%¸ô?÷ @Ð?ñ (ð  ñ ?ˆ	Ø×!Ñ! )¨c°6¨]Ø#$ d )¨c°6¨]õ	<÷ @Ð?úó   ­A-Á-A6c           
      óò   — g d¢}d t         g}d„ }|D ]:  }|D ]3  }| j                  ||¬«      5  | j                  ||d |d «       d d d «       Œ5 Œ< d„ }| j                  |ddgddgd	d
g«       y # 1 sw Y   Œ_xY w)Nr¸   c                 ó(   — | j                  d|¬«      S r^  ©Úweibullr¾   s      r   r1   z3TestRandomGenerators.test_weibull.<locals>.<lambda>­  s   € ¨!¯)©)°cÀ¨)Ô*Er   rÊ   c                 ó(   — | j                  ||¬«      S rd  rj  re  s      r   r1   z3TestRandomGenerators.test_weibull.<locals>.<lambda>´  s   €  a§i¡i°!¸$ iÔ&?r   r9  r¿   r*   rÏ   r0   r/   r*  r  s         r   Útest_weibullz!TestRandomGenerators.test_weibull¦  s’   € ò 6ˆ
Øœg�ˆáEˆ	ÛˆEÛ'�Ø—\‘\¨°w�\Õ?Ø×+Ñ+¨I°wØ,0°%¸ô?÷ @Ð?ñ (ð  ñ @ˆ	Ø×!Ñ! )¨c°6¨]Ø#$ d )¨c°6¨]õ	<÷ @Ð?úrg  c           
      óò   — g d¢}d t         g}d„ }|D ]:  }|D ]3  }| j                  ||¬«      5  | j                  ||d |d «       d d d «       Œ5 Œ< d„ }| j                  |ddgddgd	d
g«       y # 1 sw Y   Œ_xY w)Nr¸   c                 ó(   — | j                  d|¬«      S )Nç      è?r`  ©Úpowerr¾   s      r   r1   z1TestRandomGenerators.test_power.<locals>.<lambda>¿  s   € ¨!¯'©'°D¸t¨'Ô*Dr   rÊ   c                 ó(   — | j                  ||¬«      S rd  rq  re  s      r   r1   z1TestRandomGenerators.test_power.<locals>.<lambda>Æ  s   €  a§g¡g°¸ gÔ&=r   r9  r¿   rp  rÏ   r0   r/   r*  r  s         r   Ú
test_powerzTestRandomGenerators.test_power¸  s‘   € ò 6ˆ
Øœg�ˆáDˆ	ÛˆEÛ'�Ø—\‘\¨°w�\Õ?Ø×+Ñ+¨I°wØ,0°%¸ô?÷ @Ð?ñ (ð  ñ >ˆ	Ø×!Ñ! )¨c°6¨]Ø#'¨ ,°°f°õ	?÷ @Ð?úrg  c                 ó~  — g d¢}d t         g}d„ }| j                  «       5  | j                  |d d t        ¬«       d d d «       d„ }|D ]?  }|D ]8  }| j                  ||¬«      5  | j                  ||d |d t        «       d d d «       Œ: ŒA d„ }| j	                  |g d¢g d¢g d	¢«       y # 1 sw Y   ŒnxY w# 1 sw Y   ŒpxY w)
Nr¸   c                 ó"   — | j                  «       S r‹   ©Úlaplacer¾   s      r   r1   z3TestRandomGenerators.test_laplace.<locals>.<lambda>Ò  r  r   rÀ   c                 ó*   — | j                  dd|¬«      S ©Nr_  r  r  rw  r¾   s      r   r1   z3TestRandomGenerators.test_laplace.<locals>.<lambda>Ø  s   € Ø�I‰I˜# S¨tˆIÔ4r   rÊ   c                 ó*   — | j                  |||¬«      S r  rw  r  s       r   r1   z3TestRandomGenerators.test_laplace.<locals>.<lambda>á  s   € Ø�I‰I˜# U°ˆIÔ6r   r  ©r_  r  rÏ   r  r  r  s         r   Útest_laplacez!TestRandomGenerators.test_laplaceÊ  sÈ   € ò 6ˆ
Øœg�ˆñ 6ˆ	Ø�\‰\�^Ø×#Ñ# I¸Ø/3Ü->ð $ô @÷ ñ
5ˆ	ãˆEÛ'�Ø—\‘\¨°w�\Õ?Ø×+Ñ+¨I°wØ,0°%¸Ü,=ô?÷ @Ð?ñ (ð  ñ7ˆ	à×!Ñ! )Ò-EÚ"2Ò4Fõ	H÷! ˆ^ú÷ @Ð?úr  c                 ó~  — g d¢}d t         g}d„ }| j                  «       5  | j                  |d d t        ¬«       d d d «       d„ }|D ]?  }|D ]8  }| j                  ||¬«      5  | j                  ||d |d t        «       d d d «       Œ: ŒA d„ }| j	                  |g d¢g d¢g d	¢«       y # 1 sw Y   ŒnxY w# 1 sw Y   ŒpxY w)
Nr¸   c                 ó"   — | j                  «       S r‹   ©Úlogisticr¾   s      r   r1   z4TestRandomGenerators.test_logistic.<locals>.<lambda>î  ó
   € ¨!¯*©*¬,r   rÀ   c                 ó*   — | j                  dd|¬«      S rz  r€  r¾   s      r   r1   z4TestRandomGenerators.test_logistic.<locals>.<lambda>ô  s   € Ø�J‰J˜3 S¨tˆJÔ4r   rÊ   c                 ó*   — | j                  |||¬«      S r  r€  r  s       r   r1   z4TestRandomGenerators.test_logistic.<locals>.<lambda>ý  s   € Ø�J‰J˜3 e°$ˆJÔ7r   r  r|  r  r  r  s         r   Útest_logisticz"TestRandomGenerators.test_logisticæ  sÈ   € ò 6ˆ
Øœg�ˆñ 7ˆ	Ø�\‰\�^Ø×#Ñ# I¸Ø/3Ü->ð $ô @÷ ñ
5ˆ	ãˆEÛ'�Ø—\‘\¨°w�\Õ?Ø×+Ñ+¨I°wØ,0°%¸Ü,=ô?÷ @Ð?ñ (ð  ñ8ˆ	à×!Ñ! )Ò-EÚ"2Ò4Fõ	H÷! ˆ^ú÷ @Ð?úr  c                 ó~  — g d¢}d t         g}d„ }| j                  «       5  | j                  |d d t        ¬«       d d d «       d„ }|D ]?  }|D ]8  }| j                  ||¬«      5  | j                  ||d |d t        «       d d d «       Œ: ŒA d„ }| j	                  |g d¢g d¢g d	¢«       y # 1 sw Y   ŒnxY w# 1 sw Y   ŒpxY w)
Nr¸   c                 ó"   — | j                  «       S r‹   ©Ú	lognormalr¾   s      r   r1   z5TestRandomGenerators.test_lognormal.<locals>.<lambda>
  s
   € ¨!¯+©+¬-r   rÀ   c                 ó*   — | j                  dd|¬«      S )Nr   r  ©ÚmeanÚsigmar¿   rˆ  r¾   s      r   r1   z5TestRandomGenerators.test_lognormal.<locals>.<lambda>  s   € Ø�K‰K˜S¨°$ˆKÔ7r   rÊ   c                 ó*   — | j                  |||¬«      S )Nr‹  rˆ  )r0   rŒ  r�  r¿   s       r   r1   z5TestRandomGenerators.test_lognormal.<locals>.<lambda>  s   € Ø�K‰K˜T¨°TˆKÔ:r   r‹  r|  r  r  r  s         r   Útest_lognormalz#TestRandomGenerators.test_lognormal  sÈ   € ò 6ˆ
Øœg�ˆñ 8ˆ	Ø�\‰\�^Ø×#Ñ# I¸Ø/3Ü->ð $ô @÷ ñ
8ˆ	ãˆEÛ'�Ø—\‘\¨°w�\Õ?Ø×+Ñ+¨I°wØ,0°%¸Ü,=ô?÷ @Ð?ñ (ð  ñ;ˆ	à×!Ñ! )Ò-FÚ"2Ò4Fõ	H÷! ˆ^ú÷ @Ð?úr  c           
      ój  — g d¢}d t         g}d„ }| j                  «       5  | j                  |d d ¬«       d d d «       d„ }|D ]:  }|D ]3  }| j                  ||¬«      5  | j                  ||d |d «       d d d «       Œ5 Œ< d„ }| j                  |ddgd	d
gddg«       y # 1 sw Y   ŒixY w# 1 sw Y   ŒkxY w)Nr¸   c                 ó"   — | j                  «       S r‹   ©Úrayleighr¾   s      r   r1   z4TestRandomGenerators.test_rayleigh.<locals>.<lambda>&  r‚  r   rÌ   c                 ó(   — | j                  d|¬«      S r%  r’  r¾   s      r   r1   z4TestRandomGenerators.test_rayleigh.<locals>.<lambda>+  s   € ¨!¯*©*¸3ÀT¨*Ô*Jr   rÊ   c                 ó(   — | j                  ||¬«      S r(  r’  r)  s      r   r1   z4TestRandomGenerators.test_rayleigh.<locals>.<lambda>2  s   € ¨!¯*©*¸5Àt¨*Ô*Lr   r  r¿   r  rÏ   r0   r/   r*  r  s         r   Útest_rayleighz"TestRandomGenerators.test_rayleigh  sÍ   € ò 6ˆ
Øœg�ˆñ 7ˆ	Ø�\‰\�^Ø×#Ñ# I¸Ø/3ð $ô 5÷ ñ Kˆ	ÛˆEÛ'�Ø—\‘\¨°w�\Õ?Ø×+Ñ+¨I°wØ,0°%¸ô?÷ @Ð?ñ (ð  ñ Mˆ	Ø×!Ñ! )¨g°vÐ->Ø#&¨ +°°V¨}õ	>÷ ˆ^ú÷ @Ð?úr,  c                 óü   — g d¢}d t         g}d„ }|D ]?  }|D ]8  }| j                  ||¬«      5  | j                  ||d |d t        «       d d d «       Œ: ŒA d„ }| j	                  |ddgddgd	d
g«       y # 1 sw Y   ŒdxY w)Nr¸   c                 ó(   — | j                  d|¬«      S rJ  ©Ú
standard_tr¾   s      r   r1   z6TestRandomGenerators.test_standard_t.<locals>.<lambda>=  s   € ¨!¯,©,¸!À$¨,Ô*Gr   rÊ   c                 ó(   — | j                  ||¬«      S rP  r™  rQ  s      r   r1   z6TestRandomGenerators.test_standard_t.<locals>.<lambda>E  s   €  q§|¡|°rÀ |Ô'Er   rL  r¿   rL   rÏ   r0   r/   r  r  s         r   Útest_standard_tz$TestRandomGenerators.test_standard_t6  s•   € ò 6ˆ
Øœg�ˆáGˆ	ÛˆEÛ'�Ø—\‘\¨°w�\Õ?Ø×+Ñ+¨I°wØ,0°%¸Ü,=ô?÷ @Ð?ñ (ð  ñ Fˆ	Ø×!Ñ! )¨d°F¨^Ø#$ d )¨c°6¨]õ	<÷ @Ð?úr5  c                 óü   — g d¢}d t         g}d„ }|D ]?  }|D ]8  }| j                  ||¬«      5  | j                  ||d |d t        «       d d d «       Œ: ŒA d„ }| j	                  |g d¢g d¢g d¢«       y # 1 sw Y   ŒdxY w)Nr¸   c                 ó*   — | j                  dd|¬«      S )Nr   r  ©rŒ  r  r¿   ©Úwaldr¾   s      r   r1   z0TestRandomGenerators.test_wald.<locals>.<lambda>P  s   € ¨!¯&©&°cÀÈ4¨&Ô*Pr   rÊ   c                 ó*   — | j                  |||¬«      S )NrŸ  r   )r0   rŒ  r  r¿   s       r   r1   z0TestRandomGenerators.test_wald.<locals>.<lambda>X  s   € Ø�F‰F˜ E°ˆFÔ5r   rŸ  r|  r  r  r  s         r   Ú	test_waldzTestRandomGenerators.test_waldI  s‹   € ò 6ˆ
Øœg�ˆáPˆ	ÛˆEÛ'�Ø—\‘\¨°w�\Õ?Ø×+Ñ+¨I°wØ,0°%¸Ü,=ô?÷ @Ð?ñ (ð  ñ6ˆ	à×!Ñ! )Ò-FÚ"2Ò4Fõ	H÷ @Ð?úr5  c                 óü   — g d¢}d t         g}d„ }|D ]?  }|D ]8  }| j                  ||¬«      5  | j                  ||d |d t        «       d d d «       Œ: ŒA d„ }| j	                  |ddgddgd	d
g«       y # 1 sw Y   ŒdxY w)Nr¸   c                 ó(   — | j                  d|¬«      S )Nrp  ©Úpr¿   ©Ú	geometricr¾   s      r   r1   z5TestRandomGenerators.test_geometric.<locals>.<lambda>d  s   € ¨!¯+©+¸À4¨+Ô*Hr   rÊ   c                 ó(   — | j                  ||¬«      S ©Nr¦  r¨  ©r0   r§  r¿   s      r   r1   z5TestRandomGenerators.test_geometric.<locals>.<lambda>l  s   €  a§k¡k°A¸D kÔ&Ar   r§  r¿   rp  rÏ   r0   r/   r  r  s         r   Útest_geometricz#TestRandomGenerators.test_geometric]  s•   € ò 6ˆ
Øœg�ˆáHˆ	ÛˆEÛ'�Ø—\‘\¨°w�\Õ?Ø×+Ñ+¨I°wØ,0°%¸Ü,=ô?÷ @Ð?ñ (ð  ñ Bˆ	Ø×!Ñ! )¨c°6¨]Ø#'¨ ,°°f°õ	?÷ @Ð?úr5  c           
      óò   — g d¢}d t         g}d„ }|D ]:  }|D ]3  }| j                  ||¬«      5  | j                  ||d |d «       d d d «       Œ5 Œ< d„ }| j                  |ddgddgd	d
g«       y # 1 sw Y   Œ_xY w)Nr¸   c                 ó(   — | j                  d|¬«      S )Nr  r`  ©Úzipfr¾   s      r   r1   z0TestRandomGenerators.test_zipf.<locals>.<lambda>w  s   € ¨!¯&©&°3¸T¨&Ô*Br   rÊ   c                 ó(   — | j                  ||¬«      S rd  r°  re  s      r   r1   z0TestRandomGenerators.test_zipf.<locals>.<lambda>~  s   €  a§f¡f¨q°t fÔ&<r   r9  r¿   r*   rÏ   r0   r/   r*  r  s         r   Ú	test_zipfzTestRandomGenerators.test_zipfp  s‘   € ò 6ˆ
Øœg�ˆáBˆ	ÛˆEÛ'�Ø—\‘\¨°w�\Õ?Ø×+Ñ+¨I°wØ,0°%¸ô?÷ @Ð?ñ (ð  ñ =ˆ	Ø×!Ñ! )¨c°6¨]Ø#$ d )¨c°6¨]õ	<÷ @Ð?úrg  c           
      óò   — g d¢}d t         g}d„ }|D ]:  }|D ]3  }| j                  ||¬«      5  | j                  ||d |d «       d d d «       Œ5 Œ< d„ }| j                  |g d¢g d¢g d¢«       y # 1 sw Y   Œ_xY w)Nr¸   c                 ó,   — | j                  ddd|¬«      S )Nr   rÛ   rÂ   ©ÚleftÚmodeÚrightr¿   ©Ú
triangularr¾   s      r   r1   z6TestRandomGenerators.test_triangular.<locals>.<lambda>‰  s   € Ø�L‰L˜a a¨q°tˆLÔ<r   rÊ   c                 ó,   — | j                  ||||¬«      S )Nr¶  rº  )r0   r·  r¸  r¹  r¿   s        r   r1   z6TestRandomGenerators.test_triangular.<locals>.<lambda>‘  s   € Ø�L‰L˜d¨°UÀˆLÔFr   r¶  )r   rÛ   rÂ   rÏ   ©r0   r0   r0   r/   r*  r  s         r   Útest_triangularz$TestRandomGenerators.test_triangular‚  s‹   € ò 6ˆ
Øœg�ˆñ=ˆ	ãˆEÛ'�Ø—\‘\¨°w�\Õ?Ø×+Ñ+¨I°wØ,0°%¸ô?÷ @Ð?ñ (ð  ñGˆ	à×!Ñ! )Ò-NÚ"1Ò3Jõ	L÷ @Ð?úrg  c                 óü   — g d¢}d t         g}d„ }|D ]?  }|D ]8  }| j                  ||¬«      5  | j                  ||d |d t        «       d d d «       Œ: ŒA d„ }| j	                  |ddgddgd	d
g«       y # 1 sw Y   ŒdxY w)Nr¸   c                 ó(   — | j                  d|¬«      S )NrÚ   ©Úlamr¿   ©Úpoissonr¾   s      r   r1   z3TestRandomGenerators.test_poisson.<locals>.<lambda>�  s   € ¨!¯)©)¸À¨)Ô*Fr   rÊ   c                 ó(   — | j                  ||¬«      S )NrÁ  rÃ  )r0   rÂ  r¿   s      r   r1   z3TestRandomGenerators.test_poisson.<locals>.<lambda>¥  s   € ¨¯	©	°cÀ¨	Ô(Er   rÂ  r¿   rÚ   rÏ   r0   r/   r  r  s         r   Útest_poissonz!TestRandomGenerators.test_poisson–  s•   € ò 6ˆ
Øœg�ˆáFˆ	ÛˆEÛ'�Ø—\‘\¨°w�\Õ?Ø×+Ñ+¨I°wØ,0°%¸Ü,=ô?÷ @Ð?ñ (ð  ñ Fˆ	Ø×!Ñ! )¨e°V¨_Ø#% t *¨s°F¨mõ	=÷ @Ð?úr5  c                 óü   — g d¢}d t         g}d„ }|D ]?  }|D ]8  }| j                  ||¬«      5  | j                  ||d |d t        «       d d d «       Œ: ŒA d„ }| j	                  |g d¢g d¢g d¢«       y # 1 sw Y   ŒdxY w)Nr¸   c                 ó*   — | j                  dd|¬«      S ©Nr*   çš™™™™™¹?©Únr§  r¿   ©Únegative_binomialr¾   s      r   r1   z=TestRandomGenerators.test_negative_binomial.<locals>.<lambda>°  s   € Ø×Ñ ! s°ÐÔ6r   rÊ   c                 ó*   — | j                  |||¬«      S ©NrË  rÍ  ©r0   rÌ  r§  r¿   s       r   r1   z=TestRandomGenerators.test_negative_binomial.<locals>.<lambda>¹  s   € Ø×Ñ ! q¨tÐÔ4r   rË  ©r*   rp  rÏ   r  r  r  s         r   Útest_negative_binomialz+TestRandomGenerators.test_negative_binomial©  s�   € ò 6ˆ
Øœg�ˆñ7ˆ	ãˆEÛ'�Ø—\‘\¨°w�\Õ?Ø×+Ñ+¨I°wØ,0°%¸Ü,=ô?÷ @Ð?ñ (ð  ñ5ˆ	à×!Ñ! )Ò-?Ú"1Ò3Eõ	G÷ @Ð?úr5  c           
      óì   ‡— dg}d t         g}g d¢}t        j                  |||«      D ]>  \  }}Š| j                  ||‰¬«      5  ˆfd„}| j	                  ||d |d d«       d d d «       Œ@ y # 1 sw Y   ŒKxY w)Nr¹   )r   r*   rL   ©rÅ   rÇ   Ú_axisc                 óR   •— | j                  |¬«      }| j                  |‰¬«       |S )NrY  ©Úaxis)r4   Úshuffle)r0   r¿   rE   ÚarrrÖ  s       €r   r•   z4TestRandomGenerators.test_shuffle.<locals>.dist_funcÊ  s(   ø€ ØŸ(™(¨˜(Ó-�CØ—I‘I˜c¨�IÔ.Ø�Jr   r   )r   Ú	itertoolsÚproductrW   rˆ   )r&   rÑ   rÓ   ÚaxesrÅ   rÇ   r•   rÖ  s          @r   Útest_shufflez!TestRandomGenerators.test_shuffleÁ  s†   ø€ Ø"�^ˆ
Øœg�ˆÚˆä%.×%6Ñ%6°zØ7CØ7;ö&=Ñ!ˆE�7˜Eð —‘ E°7À%�ÕHôð ×'Ñ'¨	°7Ø(,¨e°TØ()ô+÷ IÐHñ&=÷ IÐHús   ÁA*Á*A3	c                 óâ   — t        j                  g «      }t        j                  g «      }d„ }t        j                  |«      }d„ }| j	                   | |«       |«       | |«       |«      «       y )Nc                 ó(   — | j                  |«       |S r‹   ©rÚ  ©r0   rÛ  s     r   r•   z:TestRandomGenerators.test_shuffle_empty.<locals>.dist_funcÖ  s   € Ø�I‰I�cŒNØˆJr   c                  ó@   — t         j                  j                  d«      S ©Nr*   ©r   r4   r5   r   r   r   r1   z9TestRandomGenerators.test_shuffle_empty.<locals>.<lambda>Û  ó   € ”b—i‘i×+Ñ+¨AÔ.r   ©r   Úarrayr6   r7   r{   ©r&   r9  r:  r•   Únb_funcr;   s         r   Útest_shuffle_emptyz'TestRandomGenerators.test_shuffle_emptyÒ  sX   € Ü�H‰H�R‹LˆÜ�H‰H�R‹Lˆò	ô —*‘*˜YÓ'ˆÙ.ˆà×Ñ¡	©#«%°Ó 3±W¹S»UÀAÓ5FÕGr   c                 óÈ  — | j                  «        d„ }| j                  |ddgt        j                  g d¢«      dgddg«       t        j                  j                  d«      }| j                  t        «      5 } t        j                  |«      |t        j                  g d¢«      d«       d d d «       | j                  dt        j                  «      «       y # 1 sw Y   Œ/xY w)	Nc                 ó,   — | j                  ||¬«       |S ©NrØ  râ  ©r0   rÛ  rÙ  s      r   r•   z:TestRandomGenerators.test_shuffle_check.<locals>.dist_funcâ  s   € Ø�I‰I�c ˆIÔ%ØˆJr   r0   rÙ  ©rÛ   é   rÂ   r   r*   rL   ú)Axis is out of bounds for the given array©Údisable_leak_checkr�   r   ré  r4   r5   r!   Ú
IndexErrorr6   r7   r#   r$   r%   ©r&   r•   r;   r'   s       r   Útest_shuffle_checkz'TestRandomGenerators.test_shuffle_checkß  s´   € Ø×ÑÔ!ò	ð 	×!Ñ! )¨c°6¨]Ü#%§8¡8ªGÓ#4°aÐ"8¸3À¸*ô	Fô �i‰i×#Ñ# AÓ&ˆØ×ÑœzÔ*¨fØ!ŒE�J‰J�yÓ! #¤r§x¡x²Ó'8¸!Ô<÷ +à�‰Ø7Ü�× Ñ Ó!õ	
÷ +Ð*ús   Á73CÃC!c           
      óÈ  — dg}d t         g}g d¢}t        j                  |||«      D ]<  \  }}}| j                  |||¬«      5  d„ }| j	                  ||d |d d«       d d d «       Œ> t        j                  d„ «      }t        j                  j                  «       }|j                  d¬«      }	|	j                  «       }
 |||	«       | j                  |	|
«       y # 1 sw Y   ŒºxY w)	Nr¹   )r   r*   rL   éÿÿÿÿéþÿÿÿrÕ  c                 óL   — | j                  |¬«      }| j                  |d¬«      S )NrY  r*   rØ  )r4   Úpermutation)r0   r¿   rE   rÛ  s       r   r•   z8TestRandomGenerators.test_permutation.<locals>.dist_funcý  s%   € ØŸ(™(¨˜(Ó-�CØŸ=™=¨°1˜=Ó5Ð5r   r   c                 ó$   — | j                  |«      S r‹   ©rý  )r;   rÛ  s     r   r1   z7TestRandomGenerators.test_permutation.<locals>.<lambda>  s   € °·±ÀÔ0Dr   )re   rº   rY  )r   rÜ  rÝ  rW   rˆ   r6   r7   r   r4   r5   r”   r{   )r&   rÑ   rÓ   rÞ  rÅ   rÇ   rÖ  r•   r;   rÛ  Úarr_cpys              r   Útest_permutationz%TestRandomGenerators.test_permutationô  sÝ   € Ø"�^ˆ
Øœg�ˆÚ ˆä%.×%6Ñ%6°zØ7CØ7;ö&=Ñ!ˆE�7˜Eð —‘ E°7À%�ÕHò6ð ×'Ñ'¨	°7Ø(,¨e°TØ()ô+÷	 IÐHð&=ô —J‘JÑDÓEˆ	Ü�i‰i×#Ñ#Ó%ˆØ�j‰j˜hˆjÓ'ˆØ—(‘(“*ˆÙ�#�sÔØ×Ñ  WÕ-÷ IÐHús   ÁCÃC!	c                 óÊ  — | j                  «        d„ }| j                  |ddgt        j                  g d¢«      dgddg«       t        j                  j                  d«      }| j                  t        «      5 } t        j                  |«      |t        j                  g d¢«      d«       d d d «       | j                  dt        j                  «      «       | j                  t        «      5 } t        j                  |«      |t        j                  g d¢«      d	«       d d d «       | j                  dt        |j                  «      «       y # 1 sw Y   Œ¤xY w# 1 sw Y   Œ;xY w)
Nc                 ó(   — | j                  ||¬«      S rï  rÿ  rð  s      r   r•   zBTestRandomGenerators.test_permutation_exception.<locals>.dist_func  s   € Ø—=‘= ¨4�=Ó0Ð0r   r0   rÙ  rñ  r   r*   rL   ró  rû  rô  r÷  s       r   Útest_permutation_exceptionz/TestRandomGenerators.test_permutation_exception  s  € Ø×ÑÔ!ò	1ð 	×!Ñ! )¨c°6¨]Ü#%§8¡8ªGÓ#4°aÐ"8¸3À¸*ô	Fô �i‰i×#Ñ# AÓ&ˆØ×ÑœzÔ*¨fØ!ŒE�J‰J�yÓ! #¤r§x¡x²Ó'8¸!Ô<÷ +à�‰Ø7Ü�× Ñ Ó!ô	
ð ×ÑœzÔ*¨fØ!ŒE�J‰J�yÓ! #¤r§x¡x²Ó'8¸"Ô=÷ +à�‰Ø7Ü�× Ñ Ó!õ	
÷ +Ð*ú÷ +Ð*ús   Á73EÃ,3EÅEÅE"c                 óâ   — t        j                  g «      }t        j                  g «      }d„ }t        j                  |«      }d„ }| j	                   | |«       |«       | |«       |«      «       y )Nc                 ó$   — | j                  |«      S r‹   rÿ  rã  s     r   r•   z>TestRandomGenerators.test_permutation_empty.<locals>.dist_func'  s   € Ø—=‘= Ó%Ð%r   c                  ó@   — t         j                  j                  d«      S rå  ræ  r   r   r   r1   z=TestRandomGenerators.test_permutation_empty.<locals>.<lambda>+  rç  r   rè  rê  s         r   Útest_permutation_emptyz+TestRandomGenerators.test_permutation_empty#  sX   € Ü�H‰H�R‹LˆÜ�H‰H�R‹Lˆò	&ô —*‘*˜YÓ'ˆÙ.ˆà×Ñ¡	©#«%°Ó 3±W¹S»UÀAÓ5FÕGr   c           	      óN  — g d¢}d t         g}d„ }t        j                  ||«      D ]6  \  }}| j                  ||¬«      5  | j	                  ||d |d «       d d d «       Œ8 d„ }g d¢}| j                  |g d¢|g d¢«       t        j                  j                  «       }|g|z   }t        j                  |«      }| j                  t        «      5 }	|j                  «       }
d|
d	<    ||
Ž  d d d «       | j                  d
t        	j                   «      «       | j                  t        «      5 }	|j                  «       }
d|
d<    ||
Ž  d d d «       | j                  dt        |	j                   «      «       | j#                  «        y # 1 sw Y   �ŒfxY w# 1 sw Y   Œ©xY w# 1 sw Y   ŒXxY w)Nr¸   c                 ó*   — | j                  dd|¬«      S ©Nç      @g      4@rY  ©Únoncentral_chisquarer¾   s      r   r1   z@TestRandomGenerators.test_noncentral_chisquare.<locals>.<lambda>6  s   € Ø×"Ñ" 3¨°4Ð"Ô8r   rÊ   c                 ó*   — | j                  |||¬«      S )N©rL  Únoncr¿   r  )r0   rL  r  r¿   s       r   r1   z@TestRandomGenerators.test_noncentral_chisquare.<locals>.<lambda>=  s   € Ø×"Ñ" b¨t¸$Ð"Ô?r   )r  r   rÏ   r  r  r   r*   zdf <= 0rú  rL   únonc < 0)r   rÜ  rÝ  rW   rˆ   r�   r   r4   r5   r6   r7   r!   rX   r”   r#   r$   r%   rõ  ©r&   rÑ   rÓ   r•   rÅ   rÇ   r—   r;   rœ   r'   r›   s              r   Útest_noncentral_chisquarez.TestRandomGenerators.test_noncentral_chisquare/  s|  € ò 6ˆ
Øœg�ˆñ9ˆ	ä'×/Ñ/°
¸LÖI‰NˆE�7Ø—‘ E°7�Õ;Ø×'Ñ'¨	°7Ø(,¨e°Tô;÷ <Ð;ð Jñ
@ˆ	â%ˆ
Ø×!Ñ! )Ò-CØ",Ò.@ô	Bô �i‰i×#Ñ#Ó%ˆØ�U˜ZÑ'ˆ
Ü—z‘z )Ó,ˆØ×ÑœzÔ*¨fØ"Ÿ™Ó)ˆIàˆI�a‰LÙ˜)Ñ$÷	 +ð
 	�‰�i¤ V×%5Ñ%5Ó!6Ô7Ø×ÑœzÔ*¨fØ"Ÿ™Ó)ˆIàˆI�a‰LÙ˜)Ñ$÷	 +ð
 	�‰�j¤# f×&6Ñ&6Ó"7Ô8à×ÑÕ!÷7 <Ñ;ú÷ +Ð*ú÷ +Ð*ús#   ¿FÃFÄ)FÆF	ÆFÆF$c           
      ó,  — g d¢}d t         g}d„ }t        j                  ||«      D ];  \  }}| j                  ||¬«      5  | j	                  ||d |d t
        «       d d d «       Œ= d„ }g d¢}| j                  |g d¢|g d¢«       t        j                  j                  «       }|g|z   }t        j                  |«      }| j                  t        «      5 }	|j                  «       }
d|
d	<    ||
Ž  d d d «       | j                  d
t!        	j"                  «      «       | j                  t        «      5 }	|j                  «       }
d|
d<    ||
Ž  d d d «       | j                  dt!        |	j"                  «      «       | j                  t        «      5 }	|j                  «       }
d|
d<    ||
Ž  d d d «       | j                  dt!        |	j"                  «      «       | j%                  «        y # 1 sw Y   �ŒÈxY w# 1 sw Y   �ŒxY w# 1 sw Y   Œ¶xY w# 1 sw Y   ŒexY w)Nr¸   c                 ó,   — | j                  ddd|¬«      S r  ©Únoncentral_fr¾   s      r   r1   z8TestRandomGenerators.test_noncentral_f.<locals>.<lambda>]  s   € Ø�N‰N˜3  c°ˆNÔ5r   rÊ   c                 ó,   — | j                  ||||¬«      S )N©rB  rC  r  r¿   r  )r0   rB  rC  r  r¿   s        r   r1   z8TestRandomGenerators.test_noncentral_f.<locals>.<lambda>e  s   € Ø�N‰N ¨e¸$ÀTˆNÔJr   )r  r   r  rÏ   r  r½  r   r*   z
dfnum <= 0rL   z
dfden <= 0rú  rÛ   r  )r   rÜ  rÝ  rW   rˆ   r  r�   r   r4   r5   r6   r7   r!   rX   r”   r#   r$   r%   rõ  r  s              r   Útest_noncentral_fz&TestRandomGenerators.test_noncentral_fV  sÖ  € ò 6ˆ
Øœg�ˆñ6ˆ	ä'×/Ñ/°
¸LÖI‰NˆE�7Ø—‘ E°7�Õ;Ø×'Ñ'¨	°7Ø(,¨e°TÜ(9ô;÷ <Ð;ð JñKˆ	â*ˆ
Ø×!Ñ! )Ò-OØ",Ò.Eô	Gô �i‰i×#Ñ#Ó%ˆØ�U˜ZÑ'ˆ
Ü—z‘z )Ó,ˆØ×ÑœzÔ*¨fØ"Ÿ™Ó)ˆIàˆI�a‰LÙ˜)Ñ$÷	 +ð
 	�‰�l¤C¨×(8Ñ(8Ó$9Ô:Ø×ÑœzÔ*¨fØ"Ÿ™Ó)ˆIàˆI�a‰LÙ˜)Ñ$÷	 +ð
 	�‰�l¤C¨×(8Ñ(8Ó$9Ô:Ø×ÑœzÔ*¨fØ"Ÿ™Ó)ˆIàˆI�a‰LÙ˜)Ñ$÷	 +ð
 	�‰�j¤# f×&6Ñ&6Ó"7Ô8à×ÑÕ!÷E <Ñ;ú÷ +Ñ*ú÷ +Ð*ú÷ +Ð*ús/   ¿G$ÃG1Ä.G>ÆH
Ç$G.	Ç1G;Ç>HÈ
Hc           	      ó®  — g d¢}d t         g}d„ }t        j                  ||«      D ]6  \  }}| j                  ||¬«      5  | j	                  ||d |d «       d d d «       Œ8 d„ }ddg}| j                  |ddg|d	d
g«       t        j                  j                  d«      }|g|z   }t        j                  |«      }ddt        j                  fD ]_  }	| j                  t        «      5 }
|j                  «       }|	|d<    ||Ž  d d d «       | j                  dt!        
j"                  «      «       Œa | j%                  «        y # 1 sw Y   �Œ"xY w# 1 sw Y   ŒNxY w)Nr¸   c                 ó(   — | j                  d|¬«      S )Nç333333Ó?rY  ©Ú	logseriesr¾   s      r   r1   z5TestRandomGenerators.test_logseries.<locals>.<lambda>‹  s   € Ø�K‰K˜ $ˆKÔ'r   rÊ   c                 ó(   — | j                  ||¬«      S r«  r  r¬  s      r   r1   z5TestRandomGenerators.test_logseries.<locals>.<lambda>’  s   € Ø�K‰K˜! $ˆKÔ'r   r  rÏ   r§  r¿   r0   r/   r*   gš™™™™™¹¿zp < 0, p >= 1 or p is NaN)r   rÜ  rÝ  rW   rˆ   r�   r   r4   r5   r6   r7   Únanr!   rX   r”   r#   r$   r%   rõ  )r&   rÑ   rÓ   r•   rÅ   rÇ   r—   r;   rœ   Ú_pr'   r›   s               r   Útest_logseriesz#TestRandomGenerators.test_logseries„  sH  € ò 6ˆ
Øœg�ˆñ(ˆ	ä'×/Ñ/°
¸LÖI‰NˆE�7Ø—‘ E°7�Õ;Ø×'Ñ'¨	°7Ø(,¨e°Tô;÷ <Ð;ð Jñ
(ˆ	à˜4�[ˆ
Ø×!Ñ! )¨c°6¨]Ø",¨s°F¨mô	=ô �i‰i×#Ñ# AÓ&ˆØ�U˜ZÑ'ˆ
Ü—z‘z )Ó,ˆØ˜œBŸF™FÓ#ˆBØ×"Ñ"¤:Ô.°&Ø&ŸO™OÓ-�	à!�	˜!‘Ù˜iÑ(÷	 /ð
 �M‰MÐ5´s¸6×;KÑ;KÓ7LÕMð $ð 	×ÑÕ!÷- <Ñ;ú÷ /Ð.ús   ¿D>Ã#EÄ>E	ÅE	c                 óü   — g d¢}d t         g}d„ }|D ]?  }|D ]8  }| j                  ||¬«      5  | j                  ||d |d t        «       d d d «       Œ: ŒA d„ }| j	                  |g d¢g d¢g d¢«       y # 1 sw Y   ŒdxY w)Nr¸   c                 ó*   — | j                  dd|¬«      S rÉ  ©Úbinomialr¾   s      r   r1   z4TestRandomGenerators.test_binomial.<locals>.<lambda>­  s   € Ø�J‰J˜˜c¨ˆJÔ-r   rÊ   c                 ó*   — | j                  |||¬«      S rÐ  r'  rÑ  s       r   r1   z4TestRandomGenerators.test_binomial.<locals>.<lambda>¶  s   € Ø�J‰J˜˜a dˆJÔ+r   rË  rÒ  r  r  r  s         r   Útest_binomialz"TestRandomGenerators.test_binomial¦  s�   € ò 6ˆ
Øœg�ˆñ.ˆ	ãˆEÛ'�Ø—\‘\¨°w�\Õ?Ø×+Ñ+¨I°wØ,0°%¸Ü,=ô?÷ @Ð?ñ (ð  ñ,ˆ	à×!Ñ! )Ò-?Ú"1Ò3Eõ	G÷ @Ð?úr5  c           
      ó°   ‡‡— g d¢}d }|D ]=  \  ŠŠ| j                  ‰‰¬«      5  ˆˆfd„}| j                  |d d |d d«       d d d «       Œ? y # 1 sw Y   ŒJxY w)N))r*   rÊ  )é2   çÍÌÌÌÌÌì?)rN   gš™™™™™Ù?)rN   r-  )rÌ  r§  c                 ó,   •— | j                  ‰‰|¬«      S rX  r'  )r0   r¿   rE   rÌ  r§  s      €€r   r1   z:TestRandomGenerators.test_binomial_cases.<locals>.<lambda>Æ  s   ø€ Ø—J‘J˜q !¨$�JÔ/r   r   )rW   rˆ   )r&   r]   r¿   r•   rÌ  r§  s       @@r   Útest_binomial_casesz(TestRandomGenerators.test_binomial_cases»  s`   ù€ ò
ˆð ˆã‰DˆAˆqØ—‘  Q�Õ'ô0�	à×'Ñ'¨	°4Ø(,¨d°D¸!ô=÷ (Ð'ñ ß'Ð'ús   ¤AÁA	c                 ó˜  — | j                  d«      5  t        j                  j                  d«      }t        j                  j                  d«      }t        j
                  d„ «       } ||«      }|j                  |«      }| j                  ||«       d d d «       | j                  d«      5  t        j                  j                  d«      }t        j                  j                  d«      }t        j
                  d„ «       } ||«      }|j                  |«      }| j                  ||«       d d d «       y # 1 sw Y   Œ£xY w# 1 sw Y   y xY w)Nzinfinite loop issue #9493r   c                 ó(   — | j                  ddd«      S )Ni¼  rÊ  rN   r'  ©Úgens    r   Úfooz?TestRandomGenerators.test_binomial_specific_issues.<locals>.fooÖ  ó   € à—|‘| C¨¨cÓ2Ð2r   z,issue with midrange value branch #9493/#9734c                 ó(   — | j                  ddd«      S )Ni-  rÊ  rN   r'  r2  s    r   r4  z?TestRandomGenerators.test_binomial_specific_issues.<locals>.fooå  r5  r   )rW   r   r4   r5   r6   Újitr<   r{   )r&   Úgen1Úgen2r4  ÚgotÚexpecteds         r   Útest_binomial_specific_issuesz2TestRandomGenerators.test_binomial_specific_issuesË  s  € ð
 �\‰\Ð5Õ6ô —9‘9×(Ñ(¨Ó+ˆDÜ—9‘9×(Ñ(¨Ó+ˆDä�Y‰Yñ3ó ð3ñ �d“)ˆCØ—{‘{ 4Ó(ˆHØ×#Ñ# C¨Ô2÷ 7ð �\‰\ÐHÕIô —9‘9×(Ñ(¨Ó+ˆDÜ—9‘9×(Ñ(¨Ó+ˆDä�Y‰Yñ3ó ð3ñ �d“)ˆCØ—{‘{ 4Ó(ˆHØ×#Ñ# C¨Ô2÷ JÐI÷ 7Ð6ú÷ JÐIús   ’B D4Â+B E Ä4D=Å E	)NNNNrÂ   rÏ   )2r_   r`   ra   rˆ   r‘   r�   r¢   r¯   r¶   rÔ   rÞ   rå   rï   rù   rý   r  r  r  r+  r4  r>  rG  rR  r[  rf  rm  rt  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   rl   rl   ¢   s  „ à26Ø6:Ø$%ó&AóP
6òòIò+òAò0Gòf8>òtDò2Cò4Mò6EòMò(Fò4Fò4>ò0Hò(Hò&Dò(<ò(4ò0<ò$<ò$?ò$Hò8Hò8Hò8>ò0<ò&Hò(?ò&<ò$Lò(=ò&Gò0+ò"Hò
ò*.ò0
ò.
Hò%"òN,"ò\ "òDGò*=ó  3r   rl   c                   ó   — e Zd Zd„ Zy)ÚTestGeneratorCachingc                 ó”  — t         j                  j                  d«      }t         j                  j                  d«      }t        j                  d„ d¬«      }| j                  |j                  d«       ||«      «       | j                  |j                  d«       ||«      «       t        t        «      }| j                  |d   d«       y )Nr*   c                 ó$   — | j                  d«      S rd   rf   r/   s    r   r1   z=TestGeneratorCaching.test_randomgen_caching.<locals>.<lambda>ó  s   € ¨!¯(©(°2¬,r   Tr2   re   Úexitcoder   )	r   r4   r5   r6   r7   r{   r   rj   r   )r&   rh   ri   r=   Úress        r   Útest_randomgen_cachingz+TestGeneratorCaching.test_randomgen_cachingï  s–   € Ü—‘×&Ñ& qÓ)ˆÜ—‘×&Ñ& qÓ)ˆä—Z‘ZÑ 6¸dÔCˆ
Ø×Ñ §¡¨bÓ 1±:¸fÓ3EÔFà×Ñ §¡¨bÓ 1±:¸fÓ3EÔFä(Ô)?Ó@ˆØ×Ñ˜˜Z™¨!Õ,r   N)r_   r`   ra   rC  r   r   r   r>  r>  î  s   „ ó
-r   r>  )r6   Únumpyr   r¨   rÜ  r¦   r9   r   Únumba.tests.supportr   r   Ú!numba.np.random.generator_methodsr   Únumba.np.random.generator_corer   r	   r
   Únumpy.randomr   r   Únumba.core.errorsr   r   r   r  r   rj   rl   r>  r   r   r   Ú<module>rJ     sj   ðÛ Û Û 
Û Û 	Û 	å ß 9Ý >ß PÑ Pß +Ý )ß Gð Ð ô~
�hô ~
òB>ôI3˜?¨Hô I3ôX"-˜8 [õ -r   