§
    ´³ÙgV  ã            
       óB  — 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m	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 dlmZ dZn# e$ r d	ZY nw xY w	 d dlZdZn# e$ r d	ZY nw xY wd
„ Zd„ Z ej        dd¬¦  «        d„ ¦   «         Z esej        d„ ¦   «         Z!deiZ"e�r® e#ee$¦  «        �r¡	 d dl%Z%e" &                    de%i¦  «          ej'        e%j(        ¦  «         ej)        d¦  «        k     r e*d¦  «        ‚ e%j+        d¬¦  «         n# e*$ r Y nw xY w	 d dl,Z,e" &                    de,i¦  «          e,j-        e¦  «         n# e*$ r Y nw xY w	 d dl.Z.e" &                    de.i¦  «         n# e*$ r Y nw xY w	 d dl/Z0e" &                    de0j        i¦  «         e0j1         &                    dd¦  «         e0j1         &                    d e0j2        e¦  «        d          ¦  «         n# e*$ r Y nw xY w ej3        ¦   «         dvrN e j4        e¦  «        Z5de5v rn9	 d„ e5D ¦   «         Z"n+# e6$ r# de" 7                    ¦   «         › �Z8 e9e8¦  «        ‚w xY wde"v rdZej:         ;                    d e" <                    ¦   «         ¦  «        Z=ej:         >                    ed!¬"¦  «        Z?d#„ Z@ej        d$„ ¦   «         ZAej        d%„ ¦   «         ZBd;d'„ZCejD         E                    ejF         G                     ejH        ¦   «         d(¦  «        ¦  «         ejI         J                    d)dd¬*¦  «         ejI         J                    d+dddd eKejL        ¦  «        ¬,¦  «         ejM         N                    d-d+¦  «        ZOejI         P                    eO¦  «         er�ed<d.„¦   «         ZQeQe_R         eSg d/¢¦  «        e_T        ej(        d0k     r%ejT         &                     eSg d1¢¦  «        ¦  «         g d2¢e_U        d3d3d4d5d6d7œe_V         eSd8g¦  «        e_W        d9g d:¢ie_X        de_Y        dS dS )=é    N)Úcontextmanager)Úget_fpu_mode)ÚFPUModeChangeWarning)ÚSCIPY_ARRAY_APIÚSCIPY_DEVICE)Ú_pep440)Ú	dt_configTFc                 ó,  — |                       dd¦  «         |                       dd¦  «         |                       dd¦  «         	 dd l}n&# t          $ r |                       dd¦  «         Y nw xY w	 ddlm} n&# t          $ r |                       dd¦  «         Y nw xY w|                       dd	¦  «         |                       dd
¦  «         t
          sD|                       dd¦  «         |                       dd¦  «         |                       dd¦  «         d S d S )NÚmarkerszslow: Tests that are very slow.zHxslow: mark test as extremely slow (not run unless explicitly requested)z8xfail_on_32bit: mark test as failing on 32-bit platformsr   z.timeout: mark a test for a non-default timeout)Úparse_durationz8fail_slow: mark a test for a non-default timeout failurez skip_xp_backends(backends, reason=None, np_only=False, cpu_only=False, exceptions=None): mark the desired skip configuration for the `skip_xp_backends` fixture.z£xfail_xp_backends(backends, reason=None, np_only=False, cpu_only=False, exceptions=None): mark the desired xfail configuration for the `xfail_xp_backends` fixture.zOparallel_threads(n): run the given test function in parallel using `n` threads.z8thread_unsafe: mark the test function as single-threadedzCiterations(n): run the given test function `n` times in each thread)Úaddinivalue_lineÚpytest_timeoutÚ	ExceptionÚpytest_fail_slowr   ÚPARALLEL_RUN_AVAILABLE)Úconfigr   r   s      úD/granary/edev/quantum/lib/python3.11/site-packages/scipy/conftest.pyÚpytest_configurer      sñ  € Ø
×Ò˜IØ)ñ+ô +ð +à
×Ò˜IØRñTô Tð Tà
×Ò˜IØBñDô Dð DðIØÐÐÐÐøÝð Ið Ið IØ×ÒØÐGñ	Iô 	Ið 	Ið 	Ið 	IðIøøøðSð 	4Ð3Ð3Ð3Ð3Ð3Ð3øÝð Sð Sð SØ×ÒØÐQñ	Sô 	Sð 	Sð 	Sð 	SðSøøøð ×Ò˜Ið	RñSô Sð Sð ×Ò˜Ið	TñUô Uð Uõ "ð 
Ø×ÒØð!ñ	"ô 	"ð 	"ð 	×ÒØØFñ	
ô 	
ð 	
ð 	×ÒØØQñ	
ô 	
ð 	
ð 	
ð 	
ð
ð 
s$   ÁA	 Á	 A,Á+A,Á0A7 Á7 BÂBc                 óª  — |                       d¦  «        }|�W	 t          t          j                             dd¦  «        ¦  «        }n# t
          $ r d}Y nw xY w|st          j        d¦  «         |                       d¦  «        }|�?t          j	        d¦  «        j
        dk     r"t          j        d	|j        d         › �¦  «         t          j        ¦   «         5 }|                     t          j        ¦  «         	 dd
lm} d}n# t&          $ r d}Y nw xY w|r¥	 t          t          j        d         ¦  «        }n# t(          $ r Y d d d ¦  «         d S w xY wt          j        d¦  «        sTt          j        ¦   «         dz  }t/          ||z  d¦  «        }	  ||d¬¦  «         n# t&          $ r Y d d d ¦  «         d S w xY wd d d ¦  «         d S # 1 swxY w Y   d S )NÚxslowÚSCIPY_XSLOWÚ0Fz@very slow test; set environment variable SCIPY_XSLOW=1 to run itÚxfail_on_32bitr   é   z&Fails on our 32-bit test platform(s): )Úthreadpool_limitsTÚPYTEST_XDIST_WORKER_COUNTÚOMP_NUM_THREADSé   é   Úblas)Úuser_api)Úget_closest_markerÚintÚosÚenvironÚgetÚ
ValueErrorÚpytestÚskipÚnpÚintpÚitemsizeÚxfailÚargsÚnptÚsuppress_warningsÚfilterÚ PytestUnraisableExceptionWarningÚthreadpoolctlr   r   ÚKeyErrorÚgetenvÚ	cpu_countÚmax)	ÚitemÚmarkÚvÚsupr   ÚHAS_THREADPOOLCTLÚxdist_worker_countÚmax_openmp_threadsÚthreads_per_workers	            r   Úpytest_runtest_setupr@   I   s¸  € Ø×"Ò" 7Ñ+Ô+€DØÐð	Ý•B”J—N’N =°#Ñ6Ô6Ñ7Ô7ˆAˆAøÝð 	ð 	ð 	ØˆAˆAˆAð	øøøàð 	LÝŒKð Kñ Lô Lð Là×"Ò"Ð#3Ñ4Ô4€DØÐ�BœG A™JœJÔ/°!Ò3Ð3ÝŒÐL¸d¼iÈ¼lÐLÐLÑMÔMÐMõ 
Ô	Ñ	 Ô	 ð  CØ�
Š
•6Ô:Ñ;Ô;Ð;ð	&Ø7Ð7Ð7Ð7Ð7Ð7à $ÐÐøÝð 	&ð 	&ð 	&à %ÐÐÐð	&øøøð ð 	ð
Ý%(­¬Ð4OÔ)PÑ%QÔ%QÐ"Ð"øÝð ð ð àð)ð ð ñ ô ð ð ð ð$øøøõ ”9Ð.Ñ/Ô/ð Ý%'¤\¡^¤^°qÑ%8Ð"Ý%(Ð);Ð?QÑ)QÐSTÑ%UÔ%UÐ"ðØ%Ð%Ð&8À6ÐJÑJÔJÐJÐJøÝ ð ð ð ð ð=ð ð ñ ô ð ð ð ð6øøøð7ð ð ñ ô ð ð ð ð ð ð ð øøøð ð ð ð ð ð s�   ™-A ÁAÁAÃ GÃ9DÄGÄDÄGÄDÄGÄD7Ä6GÄ7
EÅGÅEÅA GÆFÆGÆ
F8Æ)GÆ7F8Æ8GÇGÇGÚfunction)ÚscopeÚautousec              #   ó¤   K  — t          ¦   «         }dV — t          ¦   «         }||k    r't          j        d|d›d|d›d�t          d¬¦  «         dS dS )z9
    Check FPU mode was not changed during the test.
    NzFPU mode changed from z#xz to z during the testr   )ÚcategoryÚ
stacklevel)r   ÚwarningsÚwarnr   )ÚrequestÚold_modeÚnew_modes      r   Úcheck_fpu_moderL   z   sŒ   è è € õ
 ‰~Œ~€HØ	€E€E€EÝ‰~Œ~€Hà�8ÒÐÝŒð !¨xÐUð !ð !ÀÐUð !ð !ð !å3Àð	Cñ 	Cô 	Cð 	Cð 	Cð 	Cð Ðó    c                  ó   — dS )Nr   © rO   rM   r   Únum_parallel_threadsrP   Š   s   € àˆqrM   ÚnumpyÚarray_api_strictz2.0z'array-api-strict must be >= version 2.0z2023.12)Úapi_versionÚtorchÚcupyú	jax.numpyÚjax_enable_x64Újax_default_device)Ú1ÚtrueÚallc                 ó*   — i | ]}|t           |         “ŒS rO   )Úxp_available_backends)Ú.0Úbackends     r   ú
<dictcomp>r`   ¾   s0   € ð )ð )ð )àð Õ2°7Ô;ð)ð )ð )rM   z!'--array-api-backend' must be in ÚcudaÚxpzsTest involves masked arrays, object arrays, or other types that are not valid input when `SCIPY_ARRAY_API` is used.©Úreasonc                 ó   — | j         |› d�         j        }t          |¦  «        dk    rt          d|› �¦  «        ‚t	          | j                             |› d�¦  «        ¦  «        }g }i }|D ]à}|j                             d¦  «        r$d|d<   |j                             dg ¦  «        |d<   nR|j                             d¦  «        r8|                     d¦  «        s#d|d<   |j                             dg ¦  «        |d<   t          |j        ¦  «        dk    r6|j        d         }| 	                    |¦  «          |j
        d	i ||j        i¤Ž Œá||fS )
z%A helper for {skip,xfail}_xp_backendsÚ_xp_backendsr   zmultiple backends: Únp_onlyTÚ
exceptionsÚcpu_onlyr   rO   )Úkeywordsr.   Úlenr'   ÚlistÚnodeÚiter_markersÚkwargsr&   ÚappendÚupdate)rI   Úskip_or_xfailÚargs_r   Úbackendsro   Úmarkerr_   s           r   Ú_backends_kwargs_from_requestrv   Ð   sy  € ð Ô Ð;Ð;Ð;Ô<ÔA€EÝ
ˆ5�z„z�A‚~€~õ Ð6¨uÐ6Ð6Ñ7Ô7Ð7å�7”<×,Ò,°Ð-KÐ-KÐ-KÑLÔLÑMÔM€GØ€HØ€FØð 6ð 6ˆØŒ=×Ò˜YÑ'Ô'ð 	KØ $ˆF�9ÑØ#)¤=×#4Ò#4°\À2Ñ#FÔ#FˆF�<Ñ Ð ØŒ]×Ò˜zÑ*Ô*ð 	KØ—:’:˜iÑ(Ô(ð Kà%)��zÑ"Ø'-¤}×'8Ò'8¸ÀrÑ'JÔ'J��|Ñ$õ ˆvŒ{ÑÔ˜aÒÐØ”k !”nˆGØ�OŠO˜GÑ$Ô$Ð$ØˆFŒMÐ5Ð5˜W f¤mÐ4Ð5Ð5Ð5øà�VÐÐrM   c                 ój   — d|j         vrdS t          |d¬¦  «        \  }}t          | ||d¬¦  «         dS )aâ  skip_xp_backends(backend=None, reason=None, np_only=False, cpu_only=False, exceptions=None)

    Skip a decorated test for the provided backend, or skip a category of backends.

    See ``skip_or_xfail_backends`` docstring for details. Note that, contrary to
    ``skip_or_xfail_backends``, the ``backend`` and ``reason`` arguments are optional
    single strings: this function only skips a single backend at a time.
    To skip multiple backends, provide multiple decorators.
    Úskip_xp_backendsNr)   ©rr   ©rj   rv   Úskip_or_xfail_xp_backends©rb   rI   rt   ro   s       r   rx   rx   ï   sK   € ð  Ô!1Ð1Ð1Øˆå4°WÈFÐSÑSÔSÑ€HˆfÝ˜b (¨FÀ&ÐIÑIÔIÐIÐIÐIrM   c                 ój   — d|j         vrdS t          |d¬¦  «        \  }}t          | ||d¬¦  «         dS )aç  xfail_xp_backends(backend=None, reason=None, np_only=False, cpu_only=False, exceptions=None)

    xfail a decorated test for the provided backend, or xfail a category of backends.

    See ``skip_or_xfail_backends`` docstring for details. Note that, contrary to
    ``skip_or_xfail_backends``, the ``backend`` and ``reason`` arguments are optional
    single strings: this function only xfails a single backend at a time.
    To xfail multiple backends, provide multiple decorators.
    Úxfail_xp_backendsNr-   ry   rz   r|   s       r   r~   r~     sK   € ð  'Ô"2Ð2Ð2ØˆÝ4°WÈGÐTÑTÔTÑ€HˆfÝ˜b (¨FÀ'ÐJÑJÔJÐJÐJÐJrM   r)   c                 óJ  — t          t          |¦  «        }|                     dd¦  «        }|                     dd¦  «        }|                     dg ¦  «        }|                     d¦  «        x}rt          d|›d�¦  «        ‚|r|rd}|r|s|st          d¦  «        ‚|ro|                     d	d
¦  «        }t	          |t
          ¦  «        s"t          |¦  «        dk    rt          d¦  «        ‚| j        dk    r| j        |vr ||¬¦  «         dS |rÁd}|€g n|}t          r²t          dk    r§| j        dk    rd|vr ||¬¦  «         n‹| j        dk    r2d|vr.d|  
                    d¦  «        j        j        vr ||¬¦  «         nN| j        dk    rCd|vr?|  
                    d¦  «                             ¦   «         D ]}	d|	j        vr ||¬¦  «         Œ|�Nt          |¦  «        D ]@\  }
}| j        |k    r.||                              d	¦  «        }|sd|› �} ||¬¦  «         Œ?dS dS )an  
    Skip based on the ``skip_xp_backends`` or ``xfail_xp_backends`` marker.

    See the "Support for the array API standard" docs page for usage examples.

    Parameters
    ----------
    backends : tuple
        Backends to skip/xfail, e.g. ``("array_api_strict", "torch")``.
        These are overriden when ``np_only`` is ``True``, and are not
        necessary to provide for non-CPU backends when ``cpu_only`` is ``True``.
        For a custom reason to apply, you should pass a dict ``{'reason': '...'}``
        to a keyword matching the name of the backend.
    reason : str, optional
        A reason for the skip/xfail in the case of ``np_only=True``.
        If unprovided, a default reason is used. Note that it is not possible
        to specify a custom reason with ``cpu_only``.
    np_only : bool, optional
        When ``True``, the test is skipped/xfailed for all backends other
        than the default NumPy backend. There is no need to provide
        any ``backends`` in this case. To specify a reason, pass a
        value to ``reason``. Default: ``False``.
    cpu_only : bool, optional
        When ``True``, the test is skipped/xfailed on non-CPU devices.
        There is no need to provide any ``backends`` in this case,
        but any ``backends`` will also be skipped on the CPU.
        Default: ``False``.
    exceptions : list, optional
        A list of exceptions for use with ``cpu_only`` or ``np_only``.
        This should be provided when delegation is implemented for some,
        but not all, non-CPU/non-NumPy backends.
    skip_or_xfail : str
        ``'skip'`` to skip, ``'xfail'`` to xfail.
    rg   Fri   rh   Úreasonsz.provide a single `reason=` kwarg; got reasons=z insteadz<`exceptions` is only valid alongside `cpu_only` or `np_only`rd   z#do not run with non-NumPy backends.r   z8please provide a singleton `reason` when using `np_only`rQ   rc   NzTno array-agnostic implementation or delegation available for this backend and deviceÚcpurU   rT   r   rV   z#do not run with array API backend: )Úgetattrr(   r&   r'   Ú
isinstanceÚstrrk   Ú__name__r   r   ÚemptyÚdeviceÚtypeÚdevicesÚdevice_kindÚ	enumerate)rb   rt   ro   rr   rg   ri   rh   r€   rd   ÚdÚir_   s               r   r{   r{     sÃ  € õF �F MÑ2Ô2€MØ�jŠj˜ EÑ*Ô*€GØ�zŠz˜* eÑ,Ô,€HØ—’˜L¨"Ñ-Ô-€Jà—*’*˜YÑ'Ô'Ð'€wð VÝÐTÀ'ÐTÐTÐTÑUÔUÐUð ð �8ð àˆØð Y˜8ð Y wð YÝÐWÑXÔXÐXàð Ø—’˜HÐ&KÑLÔLˆÝ˜&¥#Ñ&Ô&ð 	5­3¨v©;¬;¸ª?¨?Ýð 4ñ 5ô 5ð 5àŒ;˜'Ò!Ð! b¤k¸Ð&CÐ&CØˆM Ð(Ñ(Ô(Ð(ØˆØð 5ð0ˆà%Ð-�R�R°:ˆ
Ýð 		5�|¨uÒ4Ð4ØŒ{˜fÒ$Ð$¨°zÐ)AÐ)AØ� VÐ,Ñ,Ô,Ð,Ð,Ø” Ò'Ð'¨G¸:Ð,EÐ,EØ §¢¨¡¤Ô 2Ô 7Ð7Ð7Ø!�M¨Ð0Ñ0Ô0Ð0øØ” Ò+Ð+°À:Ð0MÐ0MØŸš !™œ×,Ò,Ñ.Ô.ð 5ð 5�AØ A¤MÐ1Ð1Ø%˜¨VÐ4Ñ4Ô4Ð4øàÐÝ# HÑ-Ô-ð 	-ð 	-‰JˆAˆwØŒ{˜gÒ%Ð%Ø œ×,Ò,¨XÑ6Ô6�Øð MØLÀ7ÐLÐL�Fà� VÐ,Ñ,Ô,Ð,øð Ðð	-ð 	-rM   z.hypothesisÚnondeterministic)ÚnameÚdeadlineÚ
print_blobÚdeterministic)r�   r�   r‘   ÚdatabaseÚderandomizeÚsuppress_health_checkÚSCIPY_HYPOTHESIS_PROFILEc              #   ó¢  K  — t          ¦   «         }ddg}|D ]}t          t          d¬¦  «        ||<   Œg d¢}|D ]}t          t          ¬¦  «        ||<   Œddlm} d	d
g}|D ]}t          |j        d¬¦  «        ||<   Œg d¢}|D ]}t          t          ¬¦  «        ||<   Œt          t          d¬¦  «        t          dt          ¬¦  «        t          d|j        ¬¦  «        dœ}|                     |¦  «         t          d¦  «        }	ddl
m}
 ddl} |
¦   «         5  |j                             d¦  «         t          j        ¦   «         5  | r*| j        |v r!t          j        di || j                 ¤Ž dV — n.| r| j        |	v rdV — nt          j        dt(          ¦  «         dV — ddd¦  «         n# 1 swxY w Y   ddd¦  «         dS # 1 swxY w Y   dS )zmTemporarily turn (almost) all warnings to errors.

        Filter out known warnings which we allow.
        zscipy.linalg.normzscipy.ndimage.center_of_masszdivide by zero)rE   Úmessage)zscipy.signal.cwtzscipy.signal.morletzscipy.signal.morlet2zscipy.signal.rickerzscipy.integrate.simpsonzscipy.interpolate.interp2dzscipy.linalg.kron)rE   r   )Ú	integratezscipy.special.ellip_normalzscipy.special.ellip_harm_2zThe occurrence of roundoff)zscipy.stats.anderson_ksampzscipy.stats.kurtosistestzscipy.stats.normaltestúscipy.sparse.linalg.normzExited at iterationzthe matrix subclass is not)r˜   rE   z"The maximum number of subdivisions)rš   z
linalg.rstz	stats.rstúscipy.signal.normalize)Ú_fixed_default_rngNÚignoreÚerror)r�   )ÚdictÚRuntimeWarningÚDeprecationWarningÚscipyr™   ÚIntegrationWarningÚUserWarningÚPendingDeprecationWarningrq   ÚsetÚscipy._lib._utilrœ   rQ   ÚrandomÚseedrG   Úcatch_warningsr�   ÚfilterwarningsÚsimplefilterÚWarning)ÚtestÚknown_warningsÚdivide_by_zeror�   Ú
deprecatedr™   Úintegration_wÚuser_wÚdctÚlegitrœ   r*   s               r   Úwarnings_errors_and_rngr¶   †  s7  è è € õ ™œˆð  Ð!?ð
ˆð #ð 	Bð 	BˆDÝ#'µØ0@ð$Bñ $Bô $BˆN˜4Ñ Ð ð
ð 
ð 
ˆ
ð ð 	Eð 	EˆDÝ#'Õ1CÐ#DÑ#DÔ#DˆN˜4Ñ Ð à#Ð#Ð#Ð#Ð#Ð#à5Ø5ð
ˆð "ð 	Nð 	NˆDÝ#'°Ô1MØ0Lð$Nñ $Nô $NˆN˜4Ñ Ð ðHð Hð Hˆàð 	>ð 	>ˆDÝ#'µÐ#=Ñ#=Ô#=ˆN˜4Ñ Ð õ
 �kÐ3HÐIÑIÔIõ Ð9Ý7ð9ñ 9ô 9õ ÐAØ'Ô:ð<ñ <ô <ð

ð 

ˆð 	×Ò˜cÑ"Ô"Ð"õ Ð,Ñ-Ô-ˆð 	8Ð7Ð7Ð7Ð7Ð7ØÐÐÐØÐÑ!Ô!ð 	ð 	ØŒI�NŠN˜4Ñ Ô Ð ÝÔ(Ñ*Ô*ð 	ð 	Øð ˜DœI¨Ð7Ð7ÝÔ+ð Ið IØ.<¸T¼YÔ.GðIð Ið Ià�E�E�E�EØð ˜dœi¨5Ð0Ð0Ø�E�E�E�EåÔ)¨'µ7Ñ;Ô;Ð;Ø�E�E�Eð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð	ð 	ð 	ñ 	ô 	ð 	ð 	ð 	ð 	ð 	ð 	ð 	øøøð 	ð 	ð 	ð 	ð 	ð 	s7   Ä.GÅAF,Æ GÆ,F0	Æ0GÆ3F0	Æ4GÇGÇG)zscipy.linalg.LinAlgErrorzscipy.fftpack.fftshiftzscipy.fftpack.ifftshiftzscipy.fftpack.fftfreqzscipy.special.sinczscipy.optimize.show_optionsr›   rš   z$scipy.io.matlab.MatlabObject.stridesz"scipy.io.matlab.MatlabObject.dtypez"scipy.io.matlab.MatlabOpaque.dtypez$scipy.io.matlab.MatlabOpaque.stridesz&scipy.io.matlab.MatlabFunction.stridesz$scipy.io.matlab.MatlabFunction.dtypeÚ2)zscipy.io.hb_readzscipy.io.hb_writez)scipy.sparse.csgraph.connected_componentsz&scipy.sparse.csgraph.depth_first_orderz"scipy.sparse.csgraph.shortest_pathz#scipy.sparse.csgraph.floyd_warshallzscipy.sparse.csgraph.dijkstraz!scipy.sparse.csgraph.bellman_fordzscipy.sparse.csgraph.johnsonzscipy.sparse.csgraph.yenz(scipy.sparse.csgraph.breadth_first_orderz*scipy.sparse.csgraph.reverse_cuthill_mckeez$scipy.sparse.csgraph.structural_rankz*scipy.sparse.csgraph.construct_dist_matrixz%scipy.sparse.csgraph.reconstruct_pathzscipy.ndimage.value_indiceszscipy.stats.mstats.describe)zscipy.stats.distributionszscipy.optimize.cython_optimizez
scipy.testzscipy.show_configzscipy/special/_precomputez#scipy/interpolate/_interpnd_info.pyzscipy/_lib/array_api_compatzscipy/_lib/highszscipy/_lib/unuranzscipy/_lib/_gcutils.pyzscipy/_lib/doccer.pyzscipy/_lib/_uarrayzReST parser limitationz__cinit__ unexpected argumentznan in scalar_powerzintegration warning)zND_regular_grid.rstzextrapolation_examples.rstzsampling_pinv.rstzsampling_srou.rstzprobability_distributions.rstzintegrate.nquad(func,zio.rst)zoctave_a.matzoctave_cells.matzoctave_struct.mat)r)   )N)ZÚjsonr$   rG   ÚtempfileÚ
contextlibr   rQ   r*   Únumpy.testingÚtestingr/   r(   Ú
hypothesisÚscipy._lib._fpumoder   Úscipy._lib._testutilsr   Úscipy._lib._array_apir   r   Ú
scipy._libr   Úscipy_doctest.conftestr	   Ú
HAVE_SCPDTÚModuleNotFoundErrorÚpytest_run_parallelr   r   r   r@   ÚfixturerL   rP   r]   rƒ   r„   rR   rq   ÚparseÚ__version__ÚVersionÚImportErrorÚset_array_api_strict_flagsrT   Úset_default_devicerU   Ú	jax.numpyÚjaxr   r‰   ÚlowerÚloadsÚSCIPY_ARRAY_API_r4   ÚkeysÚmsgr'   r9   ÚparametrizeÚvaluesÚarray_api_compatibleÚskipifÚskip_xp_invalid_argrv   rx   r~   r{   ÚconfigurationÚset_hypothesis_home_dirÚpathÚjoinÚ
gettempdirÚsettingsÚregister_profilerl   ÚHealthCheckr%   r&   r–   Úload_profiler¶   Úuser_context_mgrr¦   ÚskiplistÚpytest_extra_ignoreÚpytest_extra_xfailÚ
pseudocodeÚlocal_resourcesÚstrict_checkrO   rM   r   ú<module>ré      s,  ðà €€€Ø 	€	€	€	Ø €€€Ø €€€Ø %Ð %Ð %Ð %Ð %Ð %à Ð Ð Ð Ø Ð Ð Ð Ð Ð Ø €€€Ø Ð Ð Ð à ,Ð ,Ð ,Ð ,Ð ,Ð ,Ø 6Ð 6Ð 6Ð 6Ð 6Ð 6Ø ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ð ?Ø Ð Ð Ð Ð Ð ðØ0Ð0Ð0Ð0Ð0Ð0Ø€J€JøØð ð ð Ø€J€J€Jðøøøð#ØÐÐÐØ!ÐÐøØð #ð #ð #Ø"ÐÐÐð#øøøð'
ð '
ð '
ðT.ð .ð .ðb €„�j¨$Ð/Ñ/Ô/ðCð Cñ 0Ô/ðCð ð Ø„^ðð ñ „^ðð
 ! "˜Ð àñ 2&�z�z /°3Ñ7Ô7ñ 2&ð	ØÐÐÐØ×$Ò$Ð&8Ð:JÐ%KÑLÔLÐLØˆ7Œ=Ð)Ô5Ñ6Ô6¸¸¼ÈÑ9OÔ9OÒOÐOØ�+ÐGÑHÔHÐHØ3ÐÔ3Ø!ð	
ñ 	
ô 	
ð 	
ð 	
øð ð ð ð ØˆðøøøðØˆˆˆØ×$Ò$ g¨uÐ%5Ñ6Ô6Ð6à ˆÔ  Ñ.Ô.Ð.Ð.øØð ð ð ØˆðøøøðØˆˆˆØ×$Ò$ f¨d ^Ñ4Ô4Ð4Ð4øØð ð ð ØˆðøøøðØÐÐÐØ×$Ò$ k°3´9Ð%=Ñ>Ô>Ð>ØŒ
×ÒÐ*¨DÑ1Ô1Ð1ØŒ
×ÒÐ.°°´¸LÑ0IÔ0IÈ!Ô0LÑMÔMÐMÐMøØð ð ð Øˆðøøøð €ÔÑÔ mÐ3Ð3Ø%˜4œ: oÑ6Ô6ÐàÐ$Ð$Ð$Øð&ð)ð )à#3ð)ñ )ô )Ð%Ð%øð ð &ð &ð &ØXÐ:O×:TÒ:TÑ:VÔ:VÐXÐX�Ø �j ‘o”oÐ%ð&øøøð 
Ð"Ð"Ð"Ø€Là”{×.Ò.¨tÐ5J×5QÒ5QÑ5SÔ5SÑTÔTÐ à”k×(Ò(¨ðIð )ñ Kô KÐ ð
ð ð ð> „ðJð Jñ „ðJð" „ðKð Kñ „ðKð P-ð P-ð P-ð P-ðl Ô × 0Ò 0Ø„G‡L‚LÐ$�Ô$Ñ&Ô&¨Ñ6Ô6ñô ð ð Ô × $Ò $Ø	 d°tð %ñ ô ð ð Ô × $Ò $Ø	Ø˜d¨T¸tØ˜$˜zÔ5Ñ6Ô6ð %ñ ô ð ð œ:Ÿ>š>Ð*DØ*9ñ;ô ;Ð à 
Ô ×  Ò  Ð!9Ñ :Ô :Ð :ð ð d"ð ðOð Oð Oñ „^ðOðb "9€IÔØ˜ð ð ð ñ ô €IÔð( 
„~˜ÒÐØÔ×!Ò! # #ð 'ð 'ð 'ñ #ô #ñ 	ô 	ð 	ð,%ð %ð %€IÔ!ð$  8Ø&>Ø<Ø2Ø)>ð$ð $€IÔ ð ˜3Ð 7Ð8Ñ9Ô9€IÔàð 
ð 
ð 
ð!€IÔð "€IÔÐÐðId"ð d"sz   ÁA ÁAÁAÁA" Á"A,Á+A,Â7AD ÄDÄDÄ"+E ÅEÅEÅE6 Å6E>Å=E>ÆA*G- Ç-G5Ç4G5ÈH, È,(I