+
    0i.                         ^ 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   &&V/var/www/html/photoedit/myenv/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(()GOOG,DD//",wiy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\        \        WP
                  ^,          4      4      pRp\        W\        \        V4      4      WW4V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     vvfZZF{{all1oGw
## uuV_%eGZZ];<TeGn!5$2".*%4-DFE 
KKMr   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        Wn        \        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Wn        Wn        Wn        Wn        Wn        Wn        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"'"7D&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    }}UBJJ//HHUOExxYY		d<TXX:D<TYY;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  qR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       \%        \        W4      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    Fms6!9~.A ,

266* JJtU%FBT+UBTQF1IaLLBT+U%VWX	 /
 jjoc5))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$""Ec!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^
 LL 1 12<99D=JJE;;u%D((/
 $**Q-!1288<J !3!3T5F5FG	66$vd1Q3i'8"99J H #D  2 23FCq!!Kd1Q3i..w78C#f+-d1a4j//<=d1Q3i( 4	 	  "$)), *T5H5HI5HT4LL5HIJF I{{{s3x1}HHSV,	()9)9YOF 	CCK'("+C,<"=JA}}QWWb&8&899T=Q=Q=Q!!!!QQQQHHQKEHHQKE**A-.r{{5))*{{1q5)+,bkk$''(r{{1~--.r{{5))* + Ez 11H6)I6)IH*Y6ABE**K{{{%%2244///"'%-EEM!B.(~1133vve}}d

]4;??+<Q*?@A

]5<+;+;+=a*@AB

]266%=/)] +))3B8 9 E*1--AAAL		#c6"23A		#c3-0A		#c6"23AE
AJJ!D4s)A3a@A . tyy~.} #> 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    66$s2??D,>,>?@AA%JJ=== !3!3 4ZLww''67q: ;  		 2 23J<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   