+
    /iJ                         ^ RI t ^ RIt^ RIHtHtHtHtHtH	t	H
t
 ^ RIt^ RIHt ^ RIHt ]P                  P                   t]P                  P"                  t].t ! R R4      t]P(                  ]P*                  ]]P.                  ]P*                  ]P*                  ]]]P2                  ]P2                  ]]/t]! RR7       ! R	 R
4      4       t]! ]P:                  4      R 4       t]! ]P>                  4      R 4       t R# )    N)assert_almost_equalxp_assert_closexp_assert_equalmake_xp_test_casexp_default_dtypearray_namespace_xp_copy_to_numpy)raises)signalc                     a  ] tR t^t o Rt]! ]P                  4      R 4       t]! ]P                  4      R 4       t	]! ]P                  4      R 4       t]! RRR7      ]! ]P                  4      R 4       4       t]! ]P                  4      R	 4       t]! ]P                   4      R
 4       t]! RRR7      ]! ]P&                  4      R 4       4       t]! RRR7      ]! ]P*                  4      R 4       4       tRtV tR# )TestBSplinesa  Test behaviors of B-splines. Some of the values tested against were
returned as of SciPy 1.1.0 and are included for regression testing
purposes. Others (at integer points) are compared to theoretical
expressions (cf. Unser, Aldroubi, Eden, IEEE TSP 1993, Table 1).c                   \         P                  P                  R 4      p\        \        \
        P                  VP                  ^ .4      ^ 4       VP                  ^^4      p^
^^V,          ,
          ,          pVP                  V4      pVP                  . RO. RO. RO. RO. RO. RO. R	O. R
O. RO. RO. RO. RO.VP                  R7      p\        \
        P                  ! V^ 4      V4       R# )0  dtypeN)g7ݿgD @g5P?gB߸"@gyӼ®@gE5`@g&)#@gEf!g<@gSbυ.X gFgg$`#@)gI<M$k@gYvR@gd)B	g,#@gd?H#gk"`	@g)k	gi	V@gH-Q#@gn)Ҕ g3%0?g@	)gAZg9s@g /{Dg٩@gEC@g'UE@gآ?@gւ gzk@ga"@g򿽴~gKG#@)g$9gL|wglT@g?ss}aJ?g7iH^	gt,`?gh@glA1mg(T#g* #gDV#@g@)g'"@ga+ٓgE=a@g:"gIV@g5@gYd\gі1pg"2 g:i@gi^J @g`HQ!)g^!g#Mƽ!@g论H&@gfQq@g%gm̂r!@g
,@gY bgY#@g/-i@g Vqg")gH"@ggʜ6@ggeg&P@gY2#Cg
0@g|0g *!/@g(gqq?g)a)gF!Ígzǫg^geF?g
O0!gV<gtСg%9W@g^[H#@g3Fz?g.5 gsd?)g놎g,
@gA/u@g`9ogebgȀ@gMgZa@g<ˉ8g:ɘ%@gdH	g4g:Ns@)gg-ҿgE- g)in"@gd.xg2~wgďgYr4Q?gkM-:g,@g+ @gVu)g@+_$?gKGj?g[ C$}@g_gD/X@gHgJSʌ@g@ggN+gë	gk8gjZ@)gݵB`#@g+N?g	gg'g=!"F@gƱҟ"g'-:@g#g'gj \B@g~ge@g$q߼)nprandomRandomStater
   	TypeErrorr   spline_filterasarrayrandfloat64r   )selfxprngdata_array_realresult_array_reals   &&   ^/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/signal/tests/test_bsplines.pytest_spline_filterTestBSplines.test_spline_filter   s    ii##E*y&..

A3C((2r*a/ 112**_5JJ@@?@@@@?@@A@C#AF IK

I ' $TJ 	,,_a@)	+    c           
        \         P                  P                  R 4      pVP                  ^^4      VP                  ^^4      R,          ,           p^
R^V,          ,
          ,          pVP	                  V4      pVP	                  . RO. RO. R	O. R
O. RO. RO. RO.VP
                  R7      p\        \        P                  ! V^ 4      VRR7       R# )r   y              ?r   gư>)rtolNy      ?      ?)y$
ݿ%)y @;;R@yH?k៌"y?!@3⟥@yʱƯ@bȺ@ymտ5a@,y`#@A4p)yF! y韷@@_@yw.X /@ @y4 L &Q!yjٿ_#@!yߟk@a
 ƽ!@ySh?@ӿ&@)y?@	X@@yH:#@~%yXH#r!@y} "`	@)ƿ@y@k	ubyoU@I"$#@yA Q#@,i@)yb@r ߂KqyӔ?Ȥ"yr	"@y%`Zv.y$?s@*  7@yxebeyC@P@)y?M@k9FyθUE@4%@@y[y@#?0yN 5H /@ywk@y"a"@$?y~H)y}?\#@A?y	dy{_( y^p@;^F?yu?aJ?U 0!y\@^	Kyx_?+ߡ)yl.@@9UY@yNЪmxp[H#@yDT#bz?yh #F5 y#@^d?y<@V?y{?"@&@@)	r   r   r   r   r   
complex128r   r   r   )r   r   r   data_array_complexresult_array_complexs   &&   r   test_spline_filter_complex'TestBSplines.test_spline_filter_complexL   s    ii##E* XXa^chhq!nR.??a(:&:!:;ZZ(:;!zz&&&%+&%1&6 .0]]9  *  <@ 	,,-?C,4	9r"   c                    \         P                  ! \        P                  ! ^ ^ 4      R4      '       g   Q h\	        \        P                  ! VP                  R.4      ^4      VP                  R.4      RR7       R# )r   g<~?      ?g?g&.>atolN)mathiscloser   gauss_spliner   r   )r   r   s   &&r   test_gauss_splineTestBSplines.test_gauss_splinew   sY    ||F//157HIIII++BJJt,<a@

J<0t	
r"   Tz$deliberate: array-likes are acceptednp_onlyreasonc                |    . ROp\        \        P                  ! V^4      \        P                  ! . RO4      4       R# )r+   N)              r7   )硫Y.?gye~?r9   )r   r   r0   r   r   )r   r   knotss   && r   test_gauss_spline_list#TestBSplines.test_gauss_spline_list   s-     "F//q9JJ'JK	
r"   c                   \        \        P                  ! VP                  ^ .4      4      VP                  R.VP                  R7      4       VP                  . ROVP                  R7      p\        \        P                  ! VP                  . RO4      ^4      V4       VP                  . ROVP                  R7      p\        \        P                  ! VP                  . RO4      4      V4       R# )r   r8   r   N)g{߮]?gzU%?gz@g6fw@gven'@r+               )g|-?g>!<m @g6L@glMO@g>}@)r   r   	cspline1dr   r   r   )r   r   c1dc1d0s   &&  r   test_cspline1dTestBSplines.test_cspline1d   s    ((QC9

B4rzz
:	<jj &-/ZZ  9 	((4D)EqI3Ozz '.0jj  :((4D)EFMr"   c           	        \        \        P                  ! VP                  ^ .4      4      VP                  R.VP                  R7      4       \        \        \        P                  VP                  . RO4      R4       \        \        \        P                  VP                  . RO4      R4       VP                  . ROVP                  R7      p\        \        P                  ! VP                  . ROVP                  R7      4      V4       R# )r   r8   r   r+   Nr>   r7   )g)`O?gAk2 @g@go@g5ڕ@)r   r   	qspline1dr   r   r
   
ValueErrorr   )r   r   q1d0s   && r   test_qspline1dTestBSplines.test_qspline1d   s    ((QC9

B4rzz
:	< 	z6++RZZ8H-I2Nz6++RZZ8H-I3Ozz '.0jj  :RZZ(8

ZKLd	
r"   cupyz&https://github.com/cupy/cupy/pull/9484r5   c           
        \         P                  ! VP                  R ^ .VP                  R7      VP                  R .VP                  R7      4      p\	        W!P                  R .VP                  R7      4       \         P                  ! VP                  . R3OVP                  R7      VP                  . VP                  R7      4      p\        W!P                  . VP                  R7      4       \         P                  ! VP                  . R3OVP                  R7      VP                  R4.VP                  R7      4      p\	        W!P                  R.VP                  R7      4       . R5OpV^,          V^ ,          ,
          p. R6NR7NR8NR9NR:NR;NR<NR=NR>NR?NR4NR@NR NRNRNRNRNRNR
NR	NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNpVP                  . RAO4      pVP                  \         P                  ! \        V4      4      4      pVP                  . RNR%NRNR&NRNR'NR(NR'NRNR&NRNR%NRNR)NRNR*NR NR+NR!NR,NR"NR-NR#NR.NR$NR.NR#NR-NR"NR,NR!NR+NR NR*NRNR)NRNR%NVP                  R7      p\	        \         P                  ! WqP                  V4      WC^ ,          R/7      V4       \        P                  ! \        R0R17      ;_uu_ 4        \         P                  ! VP                  . VP                  R7      VP                  R .VP                  R7      4       R2R2R24       R2#   + '       g   i     R2# ; i)Br8   r   r+   gQUU?      @      @      @      @      @      @      @      @       @      ?      ?      @      @      @       @      !@      "@      #@      $@      %@      &@      '@      (@      )@~jt@&1@Zd;@K7	@Zd@"~@jt@tV?K7A`@gSW@g7.O@g00/@g)-3/@g^:@g4Ev@gc4~#.@guyJ9@g/~	@gY@@dxx0+Spline coefficients 'cj' must not be empty.matchNr+   r      r7   
r   ry   r?   r@   rA   rB                                                                         ࿩
gw/@ri   rj   rk   rl   rm   rn   ro   rp   rq   )r   cspline1d_evalr   r   r   r   rC   r	   pytestr
   rJ   	r   r   rxrs   newxycjnewys	   &&       r   test_cspline1d_eval TestBSplines.test_cspline1d_eval   s    !!"**b!WBJJ*"G!zz2$bjjzAC::rd"**:=>!!"**Zrzz*"J!zz"BJJz?A::b

:;< !!"**[

*"K"$**dV2::*"FH::zl"**:EF-qTAaD[ T 3  c 4  d C  s !#&(*,/1358:<>ACEGJLN "%')+.0359;>@DFI  JJ & 'ZZ(():1)=>?zz :5 :* :e :Z : :
 :%:'1:38::D:FK:%:',:.8::?:AK:MR: &: (-: /9: ;@: BL: NS: &	: (-	: /9	: ;@	: BL	: NS	:
 &:
 (-:
 /9:
 ;@:
 BL:
 NS: &: (-: /9: BD  M 	!!"jj&62A$G	
 ]]:"OQ Q!!"**Rrzz*"B"$**cU"***"EGQ Q Q Qs   AL,,L=	c           
        \        \        P                  ! VP                  R ^ .4      VP                  R .4      4      VP                  R .4      4       \	        \        P                  ! VP                  . R3O4      VP                  . 4      4      VP                  . 4      4       \        P                  ! VP                  . R3OVP
                  R7      VP                  R4.VP
                  R7      4      p\	        W!P                  R.VP
                  R7      4       . R5OpV^,          V^ ,          ,
          p. R6NR7NR8NR9NR:NR;NR<NR=NR>NR?NR4NR@NR NRNRNRNRNRNR
NR	NRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNRNpVP                  . RAO4      p\        P                  ! V4      pVP                  . RNR%NRNR&NRNR'NR(NR'NRNR&NRNR%NRNR)NRNR*NR NR+NR!NR,NR"NR-NR#NR.NR$NR.NR#NR-NR"NR,NR!NR+NR NR*NRNR)NRNR%NVP
                  R7      p\        P                  ! WqP                  WQP
                  R7      WC^ ,          R/7      p\        W(4       \        P                  ! \        R0R17      ;_uu_ 4        \        P                  ! VP                  . VP
                  R7      VP                  R .VP
                  R7      4       R2R2R24       R2#   + '       g   i     R2# ; i)Br8   r+   r   g      ?rQ   rR   rS   rT   rU   rV   rW   rX   rY   rZ   r[   r\   r]   r^   r_   r`   ra   rb   rc   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   ro   rp   rq   gTW
@goR@gbP@geW/@g B@gHG(@gnfWΜ=@g%d	O@gu#	@g)C@rr   ru   rv   Nrx   r7   rz   r   r   r   r   r   r   r   r   r   r   r   r   )
r   r   qspline1d_evalr   r   r   rI   r   r
   rJ   r   s	   &&       r   test_qspline1d_eval TestBSplines.test_qspline1d_eval   s[    	--bjj"a.A2::rdCST

B4(	
 	--bjj.DbjjQSnU

2	

 !!"**[

*"K"$**dV2::*"FH::tfBJJ:?@-qTAaD[ T 3  c 4  d C  s !#&(*,/1358:<>ACEGJLN "%')+.0359;>@DFI  JJ & 'a zz :5 :* :e :Z : :
 :%:'1:38::D:FK:%:',:.8::?:AK:MR: &: (-: /9: ;@: BL: NS: &	: (-	: /9	: ;@	: BL	: NS	:
 &:
 (-:
 /9:
 ;@:
 BL:
 NS: &: (-: /9: BD  M !!

4zz
2rd
 	 ]]:!NP P!!"**Rrzz*"B"$**cU"***"EGP P P Ps   =AKK'	 N)__name__
__module____qualname____firstlineno____doc__r   r   r   r    r(   r0   r1   skip_xp_backendsr;   rC   rF   rI   rL   xfail_xp_backendsr   r   r   r   __static_attributes____classdictcell____classdict__s   @r   r   r      s?    H
 v++,/+ -/+b v++,(9 -(9T v**+
 ,
 d+QRv**+
 , S
 v''(	N )	N v''(

 )

 v&NOv,,-%G . P%GN v&NOv,,-%G . P%Gr"   r   T)r4   c                     a  ] tR t^t o R tR t]P                  P                  R]	P                  ]]	P                  ]]	P                  ].4      R 4       t]! RRR7      ]P                  P                  R]	P                  ]]	P                  ]]	P                  ].4      R 4       4       t]! RRR7      ]P                  P'                  R	R
7      R 4       4       t]! RRR7      ]P                  P'                  RR
7      ]P                  P*                  ]P                  P                  R]	P                  ]]	P                  ]]	P                  ].4      R 4       4       4       4       tRtV tR# )TestSepfir2dc           
        VP                  . RO4      p\        P                  P                  ^^	4      pVP                  V4      p\        P
                  ! W2VR,          4       \        P                  ! \        RR7      ;_uu_ 4        \        P
                  ! W2VR,          4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        P
                  ! W2R,          V4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        P
                  ! W1P                  VR4      V4       RRR4       \        P                  ! \        RR7      ;_uu_ 4        \        P
                  ! W2VP                  VR4      4       RRR4       R#   + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)	r+   :r?   NNz
odd lengthrv   :ry   NNNobject too deepr+   rY   rU   rY   r+   )ry   r}   )
r   r   r   r   r   sepfir2dr   r
   rJ   reshaper   r   filtimages   &&  r   test_sepfir2d_invalid_filter)TestSepfir2d.test_sepfir2d_invalid_filter   s%   zz34		q!$

5!T"X. ]]:\::OOEb2 ;]]:\::OOE8T2 ; ]]:->??OOE::dG#<dC @]]:->??OOED')BC @? ;:::: @????s0   F#F7(G
1(G#F4	7G	
G	G.	c                   VP                  . RO4      p\        P                  P                  ^^4      pVP                  V4      p\        P
                  ! \        RR7      ;_uu_ 4        \        P                  ! VP                  VR4      W"4       RRR4       \        P
                  ! \        RR7      ;_uu_ 4        \        P                  ! VR,          W"4       RRR4       R#   + '       g   i     L]; i  + '       g   i     R# ; i)r+   r   rv   Nzobject of too small depthr   )rA   rA   rA   )r   NNN)
r   r   r   r   r   r
   rJ   r   r   r   r   s   &&  r   test_sepfir2d_invalid_image(TestSepfir2d.test_sepfir2d_invalid_image  s    zz34		q!$

5! ]]:->??OOBJJui8$E @ ]]:-HIIOOE$K4 JI @? JIIs   )(C&=C9&C6	9D
	dtypc                   \         P                  ! . RO. RO. RO. RO.VR7      p. ROp^.p\        P                  ! W4V4      p\        V,          p\         P
                  ! . RO. RO. RO. RO.VR7      p\        WhRR7       \        P                  ! W5V4      p\         P
                  ! . RO. RO. RO. RO.VR7      p\        WhRR7       R# )	ry   r   gؗҜ<r,   N)ry   r?   r@   r@   r?   ry   r[   ry   r[   )rX   rU   rR   rR   rU   rX   )rY   rU   rQ   rQ   rU   rY   )r   arrayr   r   sepfir_dtype_mapr   r   )	r   r   r   ah1h2resultdtexpecteds	   &&&      r   test_simpleTestSepfir2d.test_simple  s    
 HH((((* 267 S+d#::====? GIJ 	u5+::77779 ACD 	u5r"   TzTODO: convert this testr3   c                >   \         P                  ! . RO. RO. RO. RO.4      p. RO^.rT\        P                  ! VR,          WE4      p\        P                  ! VR,          P	                  4       WE4      p\        WgRR7       VP                  VP                  8X  g   Q hR# )ry   V瞯<r,   N)	ry   r?   r@   r@   r?   ry   ry   r?   r@   r   )r   :NNr?   )r   r   r   r   copyr   r   )r   r   r   r   r   r   result_stridedresult_contigs   &&&     r   test_stridedTestSepfir2d.test_strided5  s    
 HH10002 3 B6B;&	(8"AEB##}':'::::r"   z#XXX: filt.size > image.shape: flakyrO   c                
   \         P                  ! . RO4      p\         P                  P                  ^^4      p\         P                  ! . RO. RO. RO. RO.4      p\        \        P                  ! W2VR,          4      V4       R# )r+   NNr@   N)r+   rY   rU   rY   r+   rW   rY   )g!SB@g¿3=>@gs`[C@gsLhE@)gͨ*C@g5A@g;/K;E@g<f2E@)gE@g>#jD@gB`G@g]n0a#F@)gٕzH@g|FC@gǜgKE@gCF@)r   r   r   r   r   r   r   r   )r   r   r   r   r   s   &&   r   test_sepfir2d_strided_2$TestSepfir2d.test_sepfir2d_strided_2D  sc    
 xx;<		q!$::K L L LN O 	T#Y?Jr"   z*XXX: flaky. pointers OOB on some platformsc                V   \         P                  ! . ROVR7      p\         P                  ! . RO. RO. R	O. R
O. RO.VR7      p. RO. RO. RO. RO. RO.p\         P                  ! V4      p\        P                  ! WCVR,          4      p\        WeRR7       VP                  \        V,          8X  g   Q h. RO. RO. RO. RO. RO.p\         P                  ! V4      p\        P                  ! WCR,          VR,          4      p\        WeRR7       VP                  \        V,          8X  g   Q hR# )ry   r   r   r   r,   N)ry   r?   rA   r?   ry   r@   r?   )r   r@   r   ry   r?   )r?   r?   r@   r@   r@   )r   ry   r@   r   r@   )r?   r@   r   ry   r@   )r@   r@   r?   ry   r?   )g     ^@g     @Y@g     V@      a@g     _@)     `@g     @_@g     _@      c@g      d@)r   g      a@g     b@g     @d@g      f@)r   g      _@g     `@g     b@g     `b@)g     e@g     c@r   g     d@g     a@)g      6@g     A@     D@g      ?@     G@)g      ;@     C@      H@r   g     K@)g     @@g      E@g     H@g     J@g     M@)r   g      F@r   g      B@r   )g     P@g      O@r   g      A@g      G@)r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   s   &&&    r   test_sepfir2d_strided_3$TestSepfir2d.test_sepfir2d_strided_3R  s     xx-T:

O++++	- 59	: 32222	4
 ::h'd3i8u5||/5555-----	/
 ::h'S	49=u5||/5555r"   r   N)r   r   r   r   r   r   r   markparametrizer   uint8intfloat32float	complex64complexr   r   r   xfailr   	fail_asanr   r   r   r   s   @r   r   r      s^    D&
5 [[V	3

E2<<A66. d+DE[[V	3

E2<<A	; F	; d+DE[[CD
K E F
K d+DE[[JK[[[[V	3

E2<<A6  L F6r"   r   c                     \         P                  P                  R 4      pVP                  ^G^I4      pV P	                  V\        V 4      R7      p\        P                  ! VR4      p\        V4      V 8X  g   Q hR# )iW
r   r_   N)	r   r   r   r   r   r   r   	cspline2dr   r   r   r   r   s   &   r   test_cspline2dr   x  sc    
))

	
*CHHREJJu$4R$8J9EeS)F6"b(((r"   c                     \         P                  P                  R 4      pVP                  ^G^I4      pV P	                  V\        V 4      R7      p\        P                  ! V4      p\        V4      V 8X  g   Q hR# )iW
r   N)	r   r   r   r   r   r   r   	qspline2dr   r   s   &   r   test_qspline2dr     sa    
))

	
*CHHREJJu$4R$8J9Ee$F6"b(((r"   )!r.   numpyr   scipy._lib._array_apir   r   r   r   r   r   r	   r   r
   scipyr   r   r   r   lazy_xp_modulesr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r"   r   <module>r      s          ;;// KK11 (]G ]GB HHbjj#rzzJJ

E5LL",,B 
 $z6 z6  z6z 6##$) %) 6##$) %)r"   