Ë
    ¡eh"  ã            
       ó6  — d 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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 ddlmZmZ 	 ddlmZ dZdai Zej2                  j5                  ej6                  j9                   ej:                  «       d
«      «       ej<                  j?                  ddd¬«       ej<                  j?                  ddddd e ejB                  «      ¬«       ej6                  j9                  ej6                  jE                  e#«      dd«      Z$ej<                  jK                  ej6                  jM                  e$«      rdnd«       dejN                  d<   d„ Z(d„ Z)dZ*er ejV                  «       Z*d„ Z,d„ Z- e	j\                  «       d„ «       Z/ e	j`                  dd¬«      d„ «       Z1 e	j`                  d¬«      d„ «       Z2 e	j`                  d¬«      d„ «       Z3er²ed4d„«       Z4e4e_5        ejl                  jo                  d«       ejl                  jo                  d «       de_8        ddl9Z9e9jt                  e9jv                  z  e_<        e
jz                  j|                  ej~                  d!<   h d"£e_@        d#d#d$d%d&d'd(œe_A        g d)¢e_B        e	j`                  d*„ «       ZC e	j`                  dd	g¬+«      d,„ «       ZD e	j`                  d-deejŠ                   eFd.«      d/gg d0¢¬1«      d2„ «       ZG e	j`                  «       d3„ «       ZHy# e$ r d	ZY �ŒÍw xY w)5z=
Pytest configuration and fixtures for the Numpy test suite.
é    N)Úcontextmanager)Úget_fpu_mode)Úpd_NA)ÚNOGIL_BUILDÚget_stringdtype_dtype)Ú	dt_configTFz.hypothesisznumpy-profile)ÚnameÚdeadlineÚ
print_blobznp.test() profile)r	   r
   r   ÚdatabaseÚderandomizeÚsuppress_health_checkz..z
pytest.iniÚ1ÚNUMPY_EXPERIMENTAL_DTYPE_APIc                 ó”   — | j                  dd«       | j                  dd«       | j                  dd«       | j                  dd«       y )NÚmarkersz=valgrind_error: Tests that are known to error under valgrind.z:leaks_references: Tests that are known to leak references.zslow: Tests that are very slow.z,slow_pypy: Tests that are very slow on pypy.)Úaddinivalue_line)Úconfigs    úL/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/numpy/conftest.pyÚpytest_configurer   ;   sP   € Ø
×Ñ˜IØGôIà
×Ñ˜IØDôFà
×Ñ˜IØ)ô+à
×Ñ˜IØ6õ8ó    c                 ó.   — | j                  ddd d¬«       y )Nz--available-memoryÚstorezïSet amount of memory available for running the test suite. This can result to tests requiring especially large amounts of memory to be skipped. Equivalent to setting environment variable NPY_AVAILABLE_MEM. Default: determinedautomatically.)ÚactionÚdefaultÚhelp)Ú	addoption)Úparsers    r   Úpytest_addoptionr   F   s!   € Ø
×ÑÐ)°'À4ð,ð õ .r   c                 óf   — | j                   j                  d«      }|�|t        j                  d<   y y )NÚavailable_memoryÚNPY_AVAILABLE_MEM)r   Ú	getoptionÚosÚenviron)ÚsessionÚavailable_mems     r   Úpytest_sessionstartr(   U   s1   € Ø—N‘N×,Ñ,Ð-?Ó@€MØÐ Ø*7Œ�
‰
Ð&Ò'ð !r   c                 ó´  — t         rÒt        sËt        j                  «       r¶| }|j	                  «        |j                  dddd¬«       |j                  d«       |j                  d«       |j                  d«       |j                  d«       |j                  d	«       |j                  d
«       |j                  d«       t        j                  dd¬«       y y y y )NzGIL re-enabledú=T)ÚsepÚredÚboldz3The GIL was re-enabled at runtime during the tests.z;This can happen with no test failures if the RuntimeWarningz9raised by Python when this happens is filtered by a test.Ú z;Please ensure all new C modules declare support for runningz:without the GIL. Any new tests that intentionally imports z:code that re-enables the GIL should do so in a subprocess.zGIL re-enabled during testsé   )Ú
returncode)	r   Úgil_enabled_at_startÚsysÚ_is_gil_enabledÚensure_newlineÚsectionÚlineÚpytestÚexit)ÚterminalreporterÚ
exitstatusr   Útrs       r   Úpytest_terminal_summaryr<   [   s¬   € ÝÕ/´C×4GÑ4GÔ4IØˆØ
×ÑÔØ
�
‰
Ð#¨°$¸Tˆ
ÔBØ
�‰ÐEÔFØ
�‰ÐMÔNØ
�‰ÐKÔLØ
�‰�ŒØ
�‰ÐMÔNØ
�‰ÐLÔMØ
�‰ÐLÔMÜ�‰Ð1¸aÖ@ð 5JÐ/€{r   c                 ó`   — t        «       }t        €|ay|t        k7  rt        |ft        | <   |ayy)zÞ
    Check FPU precision mode was not changed during test collection.

    The clumsy way we do it here is mainly necessary because numpy
    still uses yield tests, which can execute code at test collection
    time.
    N)r   Ú_old_fpu_modeÚ_collect_results)ÚitemÚmodes     r   Úpytest_itemcollectedrB   j   s8   € ô ‹>€DäÐØ‰Ø	”Ò	Ü"/°Ð!6Ô˜ÑØ‰ð 
r   Úfunction)ÚscopeÚautousec              #   óþ   K  — t        «       }d–— t        «       }||k7  rt        dj                  ||«      «      ‚t        j	                  | j
                  «      }|� |\  }}t        dj                  ||«      «      ‚y­w)zC
    Check FPU precision mode was not changed during the test.
    Nz@FPU precision mode changed from {0:#x} to {1:#x} during the testzIFPU precision mode changed from {0:#x} to {1:#x} when collecting the test)r   ÚAssertionErrorÚformatr?   ÚgetÚnode)ÚrequestÚold_modeÚnew_modeÚcollect_results       r   Úcheck_fpu_moderO   ~   s�   è ø€ ô
 ‹~€HÛ	Ü‹~€Hà�8ÒÜð 0ß06±°xÀÓ0JóLð 	Lô &×)Ñ)¨'¯,©,Ó7€NØÐ!Ø+Ñˆ�(Üð 9ß9?¹ÀØ@Hó:JóKð 	Kð "ùs   ‚A;A=)rE   c                 ó   — t         | d<   y )NÚnp)Únumpy)Údoctest_namespaces    r   Úadd_nprT   “   s   € ä#Ð�dÒr   c                 ó(   — | j                  dd«       y )NÚPYTHONHASHSEEDÚ0)Úsetenv)Úmonkeypatchs    r   Ú	env_setuprZ   —   s   € à×ÑÐ'¨Õ-r   c              #   ó*  K  — g d¢}dj                  |«      }ddg}dj                  |«      }t        j                  «       5  t        j                  dt        |¬«       t        j                  dt
        |¬«       d–— ddd«       y# 1 sw Y   yxY w­w)z4Filter out the wall of DeprecationWarnings.
        )zThe numpy.linalg.linalgzThe numpy.fft.helperÚdep_utilÚpkg_resourcesznumpy.core.umathÚmsvccompilerzDeprecated callz
numpy.corez`np.compat`zImporting from numpy.matlibzThis function is deprecated.zData type alias 'a'zArrays of 2-dimensional vectorsz`in1d` is deprecatedú|zinvalid value encounteredzdivide by zero encounteredÚignore)ÚcategoryÚmessageN)ÚjoinÚwarningsÚcatch_warningsÚfilterwarningsÚDeprecationWarningÚRuntimeWarning)ÚtestÚmsgsÚmsgÚmsgs_rÚmsg_rs        r   Úwarnings_errors_and_rngrn   ž   s�   è ø€ ò*ˆð �h‰h�t‹nˆð (Ø(ð
ˆð —‘˜Ó ˆä×$Ñ$Ó&ñ 	Ü×#Ñ#ØÔ#5¸sõô ×#Ñ#Ø¤>¸5õó ÷	÷ 	ñ 	üs   ‚?BÁ=BÁ>	BÂBÂBz#uninitializedz# uninitializedÚStringDType>   únumpy.savezúnumpy.matlib.savezúnumpy.__array_namespace_info__ú%numpy.matlib.__array_namespace_info__r.   zneeds pandasz#errors out in /testing/overrides.pyz(.. testcode:: admonitions not understoodzmanipulates warnings)zhow-to-verify-bug.rstzc-info.ufunc-tutorial.rstzbasics.interoperability.rstzbasics.dispatch.rstzbasics.subclassing.rstzmisc.rst)znumpy/distutilsznumpy/_core/cversions.pyznumpy/_pyinstallerznumpy/random/_examplesznumpy/compatz"numpy/f2py/_backends/_distutils.pyc                  óê   — t        t        j                  t        j                  z   «      } t	        j
                  | d¬«      } t        j                  j                  | dd¬«      }|j                  d«      S )NÚU1)Údtypeiè  T)ÚsizeÚreplaceÚU100)	ÚlistÚstringÚascii_lettersÚdigitsrQ   ÚarrayÚrandomÚchoiceÚview)ÚcharsÚrets     r   Úrandom_string_listr„   î   sU   € ä”×%Ñ%¬¯©Ñ5Ó6€EÜ�H‰H�U $Ô'€EÜ
�)‰)×
Ñ
˜5 x¸Ð
Ó
>€CØ�8‰8�FÓÐr   )Úparamsc                 ó   — | j                   S ©N©Úparam©rK   s    r   Úcoercer‹   ö   s   € à�=‰=Ðr   ÚunsetÚnanÚ__nan__)rŒ   ÚNonez	pandas.NAznp.nanzfloat('nan')z
string nan)r…   Úidsc                 ó   — | j                   S r‡   rˆ   rŠ   s    r   Ú	na_objectr’   û   s   € ð
 �=‰=Ðr   c                 ó   — t        | |«      S r‡   )r   )r’   r‹   s     r   rv   rv     s   € ä  ¨FÓ3Ð3r   r‡   )IÚ__doc__r$   r{   r2   ÚtempfileÚ
contextlibr   rd   Ú
hypothesisr7   rR   rQ   Únumpy._core._multiarray_testsr   Únumpy._core.tests._natyper   Únumpy.testing._private.utilsr   r   Úscipy_doctest.conftestr   Ú
HAVE_SCPDTÚModuleNotFoundErrorr>   r?   ÚconfigurationÚset_hypothesis_home_dirÚpathrc   Ú
gettempdirÚsettingsÚregister_profilerz   ÚHealthCheckÚdirnameÚ__file__Ú_pytest_iniÚload_profileÚisfiler%   r   r   r1   r3   r(   r<   ÚhookimplrB   ÚfixturerO   rT   rZ   rn   Úuser_context_mgrÚrndm_markersÚaddÚstrict_checkÚdoctestÚNORMALIZE_WHITESPACEÚELLIPSISÚoptionflagsÚdtypesro   Úcheck_namespaceÚskiplistÚpytest_extra_xfailÚpytest_extra_ignorer„   r‹   r�   Úfloatr’   rv   © r   r   ú<module>r»      sQ  ðñó 
Û Û 
Û Ý %Û ã Û Û Û å 6Ý +ß KðÝ0Ø€Jð
 €ØÐ ð × Ñ × 0Ñ 0Ø‡G�G‡L�LÐ$�×$Ñ$Ó&¨Ó6ôð × Ñ × $Ñ $Ø	 4°Dð %ô ð × Ñ × $Ñ $Ø	Ø˜d¨T¸tÙ˜z×5Ñ5Ó6ð %ô ð �g‰g�l‰l˜2Ÿ7™7Ÿ?™?¨8Ó4°d¸LÓI€Ø 
× Ñ ×  Ñ  Ø—w‘w—~‘~ kÔ2�OÐ8Kôð
 .1€‡
�
Ð)Ñ *ò8ò.ð Ð ÙØ.˜3×.Ñ.Ó0Ðò8òAð €‡�Óñó ðð& €‡��j¨$Ô/ñKó 0ðKð( €‡�˜Ôñ$ó ð$ð €‡�˜Ôñ.ó ð.ñ àò ó ð ðF "9€IÔð ×Ñ×ÑÐ/Ô0Ø×Ñ×ÑÐ0Ô1ð "€IÔãØ#×8Ñ8¸7×;KÑ;KÑK€IÔð 05¯|©|×/GÑ/G€I×Ñ˜mÑ,ò€IÔð "$Ø%'Ø'5ØDØ"LØ*ñ$€IÔ ò%€IÔ!ð ‡�ñó ðð €‡�˜˜e�}Ô%ñó &ðð €‡�Ø�T˜5 "§&¡&©%°«,¸	ÐBÚNôñó	ðð €‡�Óñ4ó ñ4øð[ ò ØƒJðús   ÁL ÌLÌL