+
    LV-jÃ.  ã                   ó˜   € ^ RI t ^ RIt^ RIt^ RIHt ^ RIt^ RIHt ^ RI	t	^ RI
Ht . ROt ! R R4      tR tR tRR	 lt ! R
 R4      tR# )é    N)Ú_pep440)Úassert_ÚFuncDatac                   ó&   a € ] tR t^t o R tRtV tR# )ÚMissingModulec                ó   € Wn         R # ©N©Úname)Úselfr   s   &&Úi/Volumes/fast/ai/experiments/ui-tars-smoke/.venv/lib/python3.14/site-packages/scipy/special/_testutils.pyÚ__init__ÚMissingModule.__init__   s   € ØŽ	ó    r
   N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r   Ú__static_attributes__Ú__classdictcell__©Ú__classdict__s   @r   r   r      s   ø‡ € ÷ð r   r   c                 óN  € \        V 4      \        J d.   \        P                  P	                  V P
                   R 2R7      # \        P                  P                  \        P                  ! V P                  4      \        P                  ! V4      8  V P                   RV R2R7      # )z is not installed©Úreasonz version >= z	 required)Útyper   ÚpytestÚmarkÚskipr   Úskipifr   ÚparseÚ__version__ÚVersionr   )ÚmoduleÚmin_vers   &&r   Úcheck_versionr&      sƒ   € ÜˆFƒ|”}Ó$Ü�{‰{×Ñ¨&¯+©+¨Ð6GÐ'HÐÓIÐIÜ�;‰;×ÑÜ�Š�f×(Ñ(Ó)¬G¯OªO¸GÓ,DÑDØ—/‘/Ð" ,¨w¨i°yÐAð ó ð r   c                óF   a € \         P                  ! S 4      V 3R l4       pV# )zW
Enable special function errors (such as underflow, overflow,
loss of precision, etc.)
c                  ó�   <€ \         P                  ! R R7      ;_uu_ 4        S! V / VB pRRR4       V#   + '       g   i     X# ; i)Úraise©ÚallN)ÚscÚerrstate)ÚaÚkwÚresÚfuncs   *, €r   ÚwrapperÚ$with_special_errors.<locals>.wrapper*   s7   ø€ ä�[Š[˜W×%Ö%Ù˜�.˜R‘.ˆC÷ &àˆ
÷ &Ö%àˆ
ús	   ¡	4´A	)Ú	functoolsÚwraps)r1   r2   s   f r   Úwith_special_errorsr6   %   s'   ø€ ô
 ‡_‚_�TÓôó ðð €Nr   c                 óâ  € \        VR 4      '       d   \        V4      p\        P                  ! V4      pVP                  ^8X  d
   VR,          pVP
                  ^,          p\        VR4      '       d   TpRpTpM?\        P                  W!3,          p\        \        WÍP
                  ^,          4      4      pRp\        W\        \        V4      4      WïW4VWiVV
VR7      pVP                  4        R# )ÚnextNr   )
Úresult_columnsÚresult_funcÚrtolÚatolÚparam_filterÚknownfailureÚnan_okÚ
vectorizedÚignore_inf_signÚdistinguish_nan_and_inf)ºNNNN)
ÚhasattrÚlistÚnpÚasarrayÚndimÚshapeÚc_Úranger   Úcheck)r1   ÚresultsÚpointsr;   r<   r=   r>   r@   Údtyper?   rA   rB   ÚnparamsÚdatar9   r:   Úfdatas   &&&&&&&&&&&&     r   Úassert_func_equalrS   7   sÊ   € ô ˆv�v×Òä�f“ˆä�ZŠZ˜Ó€FØ‡{�{�aÔØ˜•ˆØ�l‰l˜1�o€Gäˆw˜
×#Ò#àˆØˆØ‰ô �u‰u�V�_Õ%ˆÜœe G¯Z©Z¸­]Ó;Ó<ˆØˆä�T¤¤e¨G£nÓ!5Ø$2Ø¸Ø".È*Ø%4Ø-DôF€Eð 
‡K�K†Mr   c                   óD   a € ] tR t^Xt o RtRR ltR tR	R ltR tRt	V t
R# )
r   a]  
Data set for checking a special function.

Parameters
----------
func : function
    Function to test
data : numpy array
    columnar data to use for testing
param_columns : int or tuple of ints
    Columns indices in which the parameters to `func` lie.
    Can be imaginary integers to indicate that the parameter
    should be cast to complex.
result_columns : int or tuple of ints, optional
    Column indices for expected results from `func`.
result_func : callable, optional
    Function to call to obtain results.
rtol : float, optional
    Required relative tolerance. Default is 5*eps.
atol : float, optional
    Required absolute tolerance. Default is 5*tiny.
param_filter : function, or tuple of functions/Nones, optional
    Filter functions to exclude some parameter ranges.
    If omitted, no filtering is done.
knownfailure : str, optional
    Known failure error message to raise when the test is run.
    If omitted, no exception is raised.
nan_ok : bool, optional
    If nan is always an accepted result.
vectorized : bool, optional
    Whether all functions passed in are vectorized.
ignore_inf_sign : bool, optional
    Whether to ignore signs of infinities.
    (Doesn't matter for complex-valued functions.)
distinguish_nan_and_inf : bool, optional
    If True, treat numbers which contain nans or infs as
    equal. Sets ignore_inf_sign to be True.

Nc                óä  € Wn         W n        W n        \        VR 4      '       g   V3p\	        V4      V n        Ve8   \        VR 4      '       g   V3p\	        V4      V n        Ve   Rp\        V4      hMVe	   RV n        M\        R4      hWPn        W`n	        Wpn
        \        VR 4      '       g   V3pW€n        W�n        W°n        WÀn        WÐn        Wàn        V P                   '       g
   RV n        R# R# )Ú__len__Nz5Only result_func or result_columns should be providedz7Either result_func or result_columns should be providedT)r1   rQ   ÚdatanamerD   ÚtupleÚparam_columnsr9   Ú
ValueErrorr:   r;   r<   r=   r>   r?   r@   rA   rB   )r   r1   rQ   rY   r9   r:   r;   r<   r=   r>   rW   r?   r@   rA   rB   Úmessages   &&&&&&&&&&&&&&& r   r   ÚFuncData.__init__�   só   € ð Œ	ØŒ	Ø ŒÜ�} i×0Ò0Ø*Ð,ˆMÜ" =Ó1ˆÔØÒ%Ü˜>¨9×5Ò5Ø"0Ð!2�Ü"'¨Ó"7ˆDÔØÒ&ØQ�Ü  Ó)Ð)ð 'ð Ò$Ø"&ˆDÕäÐVÓWÐWØ&ÔØŒ	ØŒ	Ü�| Y×/Ò/Ø(˜?ˆLØ(ÔØ(ÔØŒØ$ŒØ.ÔØ'>Ô$Ø×+×+Ð+Ø#'ˆDÖ ñ ,r   c                óH  € \         P                  ! V\         P                  4      '       g   \         P                  ! \        4      p\         P
                  ! V4      pV P                  V P                  rCVf   ^VP                  ,          pVf   ^VP                  ,          pW43# r	   )
rF   Ú
issubdtypeÚinexactrO   ÚfloatÚfinfor;   r<   ÚepsÚtiny)r   rO   Úinfor;   r<   s   &&   r   Úget_tolerancesÚFuncData.get_tolerances¤   sl   € Ü�}Š}˜U¤B§J¡J×/Ò/Ü—H’HœU“OˆEÜ�xŠx˜‹ˆØ—Y‘Y §	¡	ˆdØŠ<Ø�T—X‘X•:ˆDØŠ<Ø�T—Y‘Y•;ˆDØˆzÐr   c                ó"  a a*a+€ \         P                  ! R\        4      pS P                  '       d"   \        P
                  ! S P                  R7       Vf   S P                  pVf   VP                  pMVP                  V4      pS P                  V4      w  rVS P                  '       d•   \        P                  ! VP                  ^ ,          3\        P                  4      p\        S P                   S P                  4       F1  w  o*pV'       g   K  V\#        V! VRS*3,          4      4      ,          pK3  	  W,          p. o+\%        S P                   4       FÉ  w  p	o*\        P&                  ! S*4      '       dE   \)        S*P*                  4      o*S+P-                  VRS*3,          P                  \.        4      4       Kf  V'       dB   V	\1        V4      8  d2   S+P-                  VRS*3,          P                  W9,          4      4       K¯  S+P-                  VRS*3,          4       KË  	  RV+V 3R llp
V
! S P2                  4      pS P4                  e/   \7        S P4                   Uu. uF  qÁRV3,          NK  	  up4      pMURpS P8                  '       d.   \1        V4      ^8X  d   \        P:                  ! V^ ,          4      pV
! S P<                  VR7      p\?        \1        V4      \1        V4      8H  4       \%        \        W½4      4       EFp  w  pw  pp\        P@                  ! VP                  \        PB                  4      '       g   S PD                  '       dZ   \        PF                  ! V4      p\        PF                  ! V4      p\        PF                  ! V4      p\        PF                  ! V4      pMX\        PH                  ! V4      p\        PH                  ! V4      p\        PJ                  ! V4      p\        PJ                  ! V4      p\        P:                  ! V4      p\        P:                  ! V4      p\        PL                  ! RR7      ;_uu_ 4        \        PN                  ! V4      p^ V\        PP                  ! V4      ( &   \        PN                  ! VV,
          4      p^ V\        PP                  ! V4      ( &   V\        PN                  ! V4      ,          p^ V\        PP                  ! V4      ( &   RRR4       XWeX,          ,           8*  pVV8H  pVV8H  pVV8H  pVV,          V,          V,          ( pVPR                  p S P8                  '       d3   VV( ,          pVV( ,          pV VV,          PU                  4       ,          p S PV                  '       gw   S P8                  '       ge   \        PF                  ! V4      p!\        PF                  ! V4      p"V!V,          VV",          ,          p#VV#( ,          pV V#PU                  4       ,          p \        PX                  ! V4      '       g   EK$  R	.p$V$P-                  R
VV,          P[                  4       R 24       V$P-                  RXV,          P[                  4       R 24       V$P-                  R\        PT                  ! V4       RV  RV R24       \        P\                  ! V4      ^ ,           FŠ  o*\)        S*4      o*V*3R lp%RP_                  \a        V%S+4      4      p&RP_                  \a        V%V4      4      p'RP_                  \a        V%V4      4      p(V%! V4      p)V$P-                  V& RV' RV( RV) R24       KŒ  	  \?        RRP_                  V$4      4       EKs  	  R# u upi   + '       g   i     EL™; i)z,Check the special function against the data.Úerrisinstancer   NrC   c                 óì  <€ SP                   '       d   V ! S!  pM». p\        \        S^ ,          4      4       F„  pVe0   W,          '       d"   VP                  \        P
                  4       K6  TP                  T ! \        \        \        S4      4       Uu. uF  pSV,          V,          NK  	  up4      !  4       K†  	  \        P                  ! V4      p\        V\        4      '       g   V3pV# u upi )r   )	r@   rK   ÚlenÚappendrF   ÚnanrX   rG   Ú
isinstance)r1   Ú	skip_maskÚgotÚjÚiÚparamsr   s   &&   €€r   Úeval_func_at_paramsÚ+FuncData.check.<locals>.eval_func_at_paramsÖ   s¸   ø€ Ø��ˆÙ˜F‘m‘à�Üœs 6¨!¥9›~Ö.�AØ Ò,°·´ØŸ
™
¤2§6¡6Ô*Ù Ø—J‘J™t¤UÄ%ÌÈFËÔBTÓ+UÑBT¸Q¨F°1­I°a¯L¨LÑBTÑ+UÓ%VÑWÖXñ	 /ô
 —j’j “o�Ü˜c¤5×)Ò)Ø�f�ØˆJùò	 ,Vs   ÂC1)rn   Úignorer*   Ú zMax |adiff|: ÚgzMax |rdiff|: zBad results (z out of z&) for the following points (in output z):c                 óF   <€ \         P                  ! V S,          ^R7      R # )é   )Ú	precisionÚ30s)rF   Úarray2string)Úxrp   s   &€r   ÚfmtÚFuncData.check.<locals>.fmt.  s   ø€ Ü"$§/¢/°!°Aµ$À"Ô"EÀcÐ!JÐKr   z  z => z != z	  (rdiff Ú)FÚ
r	   )1ÚoperatorÚmethodcallerÚAssertionErrorr>   r   ÚxfailrQ   rO   Úastypere   r=   rF   ÚonesrI   Úbool_ÚziprY   rE   Ú	enumerateÚiscomplexobjÚintÚimagrk   Úcomplexrj   r1   r9   rX   r?   Úisnanr:   r   r^   ÚcomplexfloatingrA   ÚisinfÚisposinfÚisneginfr-   ÚabsoluteÚisfiniteÚsizeÚsumrB   ÚanyÚmaxÚnonzeroÚjoinÚmap),r   rQ   rO   ÚdtypesÚ__tracebackhide__r;   r<   Ú
param_maskÚfilterÚidxrs   ro   ÚicolÚwantedrn   Ú
output_numr}   ÚyÚpinf_xÚpinf_yÚminf_xÚminf_yÚnan_xÚnan_yÚabs_yÚdiffÚrdiffÚtol_maskÚ	pinf_maskÚ	minf_maskÚnan_maskÚbad_jÚpoint_countÚinf_xÚinf_yÚboth_nonfiniteÚmsgr~   r.   ÚbÚcÚdrp   rr   s,   f&&&                                      @@r   rL   ÚFuncData.check¯   s­  ú€ ä$×1Ò1Øœ^ó
Ðð ××ÐÜ�LŠL × 1Ñ 1Õ2àŠ<Ø—9‘9ˆDàŠ=Ø—J‘J‰Eà—;‘;˜uÓ%ˆDà×(Ñ(¨Ó/‰
ˆð ××ÐÜŸš $§*¡*¨Q¥-Ð!1´2·8±8Ó<ˆJÜ  ×!3Ñ!3°T×5FÑ5FÖG‘	��6ß‘6Ø¤$¡v¨d°1°Q°3­iÓ'8Ó"9Õ9’Jñ Hð Õ#ˆDð ˆÜ × 2Ñ 2Ö3‰FˆC�Ü�Š˜q×!Ò!Ü˜Ÿ™“K�Ø—‘˜d 1 Q 3�i×.Ñ.¬wÓ7Ö8ß˜C¤# f£+Ô-Ø—‘˜d 1 a 4�j×/Ñ/°µÓ<Ö=à—‘˜d 1 Q 3�iÖ(ñ 4÷	ð 	ñ  " $§)¡)Ó,ˆð ×ÑÒ*ä°T×5HÒ5HÓIÑ5H¨T  4 ŸL˜LÑ5HÑIÓJ‰Fð ˆIØ�{�{ˆ{œs 3›x¨1œ}äŸHšH S¨¥VÓ,�	Ù(¨×)9Ñ)9ÀYÔOˆFô 	”�C“œC ›KÑ'Ô(ä"+¬C°Ó,<×"=ÑˆJ™˜˜AÜ�}Š}˜QŸW™W¤b×&8Ñ&8×9Ò9¸T×=Q×=QÐ=QÜŸš !›�ÜŸš !›�ÜŸš !›�ÜŸš !›‘äŸš Q›�ÜŸš Q›�ÜŸš Q›�ÜŸš Q›�Ü—H’H˜Q“KˆEÜ—H’H˜Q“KˆEä—’ ×*Ö*ÜŸš A›�Ø-.�”r—{’{ 5Ó)Ð)Ñ*Ü—{’{ 1 q¥5Ó)�Ø+,�”b—k’k $Ó'Ð'Ñ(àœrŸ{š{¨1›~Õ-�Ø-.�”r—{’{ 5Ó)Ð)Ñ*÷ +ð  ¨E¥zÕ 1Ñ1ˆHØ 6Ñ)ˆIØ 6Ñ)ˆIà ™ˆHà Õ*¨YÕ6¸ÕAÐBˆEàŸ*™*ˆKØ�{�{ˆ{Ø˜%˜•�Ø˜%˜•�Ø ¨¥×2Ñ2Ó4Õ4�à×/×/Ð/¸¿¿¸äŸš ›�ÜŸš ›�Ø"'¨%¥-°E¸EµMÕ!B�Ø˜.˜Õ(�Ø˜~×1Ñ1Ó3Õ3�ä�vŠv�e�}�}à�d�Ø—
‘
˜]¨4°­;¯?©?Ó+<¸QÐ*?Ð@ÔAØ—
‘
˜]¨5°­<×+;Ñ+;Ó+=¸aÐ*@ÐAÔBØ—
‘
˜]¬2¯6ª6°%«=¨/¸Ø)˜]ð +)Ø)3¨°Bð8ô 9ô Ÿš EÓ*¨1×-Ð-�AÜ˜A›�AõLàŸ	™	¤# c¨6Ó"2Ó3�AØŸ	™	¤# c¨3£-Ó0�AØŸ	™	¤# c¨6Ó"2Ó3�AÙ˜E›
�AØ—J‘J !  D¨¨¨4°¨s°)¸A¸3¸aÐ@ÖAñ .ô ˜˜tŸy™y¨›~×.ó} #>ùò J÷4 +×*Ð*ús   É]8ÑB]=Ý=^c                ó‚  € \         P                  ! \        \        \         P                  V P
                  4      4      4      '       d   RpMRpV P                  '       dG   RV P                  P                   V R\        P                  P                  V P                  4       R2# RV P                  P                   V R2# )zPretty-printingz
 (complex)rv   z
<Data for z: Ú>)rF   r˜   rE   rœ   r‹   rY   rW   r1   r   ÚosÚpathÚbasename)r   Ú
is_complexs   & r   Ú__repr__ÚFuncData.__repr__7  s—   € ä�6Š6”$”sœ2Ÿ?™?¨D×,>Ñ,>Ó?Ó@×AÒAØ%‰JàˆJØ�=�=ˆ=Ø  §¡×!3Ñ!3Ð 4°Z°LÀÜ—w‘w×'Ñ'¨¯©Ó6Ð7°qð:ð ;ð   §	¡	× 2Ñ 2Ð3°J°<¸qÐAÐAr   )r<   rQ   rW   rB   r1   rA   r>   r?   rY   r=   r9   r:   r;   r@   )NNNNNNNFTFT)NNN)r   r   r   r   Ú__doc__r   re   rL   rÃ   r   r   r   s   @r   r   r   X   s)   ø‡ € ñ&ôP!(òF	ôF/÷P
Bð 
Br   )r6   rS   r   )	NNNNTNFFT)r¿   r4   r‚   Ú
scipy._libr   ÚnumpyrF   Únumpy.testingr   r   Úscipy.specialÚspecialr,   Ú__all__r   r&   r6   rS   r   © r   r   Ú<module>rÍ      sJ   ðÛ 	Û Û Ý ã Ý !Û å â
B€÷ñ ò
ò
ô$÷BiBó iBr   