+
    /i                        R t ^ RIt^ RIHt ^ RIHt ^ RIHtHtH	t	H
t
Ht ^ RItR tR tR tR t]P$                  P&                  R	 4       tR
 tR t]P$                  P/                  R. RO. RO]P0                  ! ]P2                  ! . RO4      ]P4                  ! ^d4      34      34      ]P$                  P/                  RR4      ]P$                  P/                  RR4      ]P$                  P/                  RR4      R 4       4       4       4       tR tR t]P$                  P/                  R]
R3]R3.4      R 4       tR t]P$                  P/                  R. R O4      R 4       t ]P$                  P/                  R. R!O4      R 4       t!R# )"z
A unit test module for czt.py
N)xp_assert_close)fft)cztzoom_fft
czt_pointsCZTZoomFFTc                     \        V 4      p\        V 4      p\        W!R R7       \        V ^d\        V 4      ,          4      p\        V ^d\        V 4      ,          4      p\        W!RR7       R# )vIh%<=rtol-q=N)r   r   r   len)xyy1s   &  Y/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/signal/tests/test_czt.py	check_cztr      sR    AA	QBB& 	As3q6zA	QCF
	BB&    c           	         \        V 4      p\        V ^ ^R\        V4      ,          ,
          .RR7      p\        W!RRR7       \        V ^ ^.4      p\        W!RRR7       \        V ^R\        V4      ,          ,
          RR7      p\        W!RRR7       \        V ^4      p\        W!RRR7       ^
p\        W\        V 4      ,          4      p\        V ^ ^R\        V4      ,          ,
          .\        V4      RR7      p\        WTRR	R7       \        V ^ ^.\        V4      R
7      p\        WTRR	R7       \        P
                  ! ^ ^R\        V 4      ,          ,
          \        V 4      4      pV^,          V^,          r\        WV.^V,          ^,           RR7      p	\        ^V,          ^V,          ^,           4      p
\        WV
,          RR7       R# )           @Tendpointdy=g+=r   atol)mr   r   绽|=r   r
   r   N)r   r   r   r   nplinspaceslice)r   r   r   overyovery2wf1f2y3idx3s   &          r   check_zoom_fftr+      sp   AA	!a2c!f9%	5BBE2	!aV	BBE2 
!Qr#a&y[4	0BBE2	!QBBE2 DA;E	!a2c%j=)SZ$	GBBE6	!aVs5z	*BBE6 	AqCF{CF+AqT1Q4	!"X4D	9B44"DBd%0r   c                     \         P                  P                  ^ 4      p V P                  ^^^4      p\         P                  ! V^4       V F*  pV P                  V4      p\        V4       \        V4       K,  	  \         P                  ! R^^4      p\         P                  ! V^,          ) R,          4      p\        V4       . ROp\        V4       \        \        ^_4      4       \        \        ^`4      4       \        \        ^a4      4       \        \        ^b4      4       \        \        ^c4      4       \         P                  ! \         P                  ! ^4      R4      p\        V^ R.4      p\        VR,          ^ R.4      p\        VR,          VRRR7       \        V^ ^.RR7      p\        VR,          ^ ^.RR7      p\        VR,          VRRR7       V P                  ^e4      p\        V4       \         P                  ! ^ ^^4      p\         P                  ! ^\         P                   ,          V,          ^,          4      \         P                  ! ^\         P                   ,          V,          ^,          4      ,           p\        V4       \         P"                  ! ^d\$        R7      p^V. RO&   \        V4       VR\         P                  ! ^ R	VP&                  ^ ,          4      ,          ,          p\        V4       R
# )r   g{Gz?r
   r   r   Fr   dtypey              ?      ?N)                     )r3   r2      gm۶m?)r2   r   :NNN)r2   r   )r1   r5      )r    randomRandomStaterandintappendr+   r   r!   exprangereshapearanger   r   randsinpizeroscomplexshape)rnglengthslengthr   tr   r%   s          r   test_1DrL   7   s-    ))


"C kk!S"%GIIgqJJvq!  	B3A
1uTzA1 	A1 5=!5=!5=!5=!5=! 	

299V$j1A	!a\	"B	!G*q'l	+BBtHbu59	!aVe	,B	!G*q!fu	5BBtHbu59 	A1 	Aq#A
qwqy{BFF1RUU719R<00A1 	G$AAjM1 BKK3
+	++A1r   c                      \         P                  P                  ^ 4      p R F7  pV P                  V4      p\	        V4      p\        V4      p\        W4RR7       K9  	  R# )r   r   r   N)e   i  '  )r    r:   r;   rB   r   r   r   )rH   Nr   r   r   s        r   test_large_prime_lengthsrQ   q   sI    
))


"CHHQKFVE*	  r   c                      \         P                  P                  ^{4      p V P                  R^
R7      P	                  R4      pV F4  pV P                  V4      p\        \        V4      \        V4      RR7       K6  	  R# ){   i sizeintr   r   N)	r    r:   r;   exponentialastyperandnr   r   r   )rH   random_lengthsnas       r   test_czt_vs_fftr]   z   s^    
))


$C__V"_5<<UCNIIaLAAU3 r   c                  6   \         P                  ! \        R R7      ;_uu_ 4        \        . 4       RRR4       \         P                  ! \        R R7      ;_uu_ 4        \	        . R4       RRR4       R#   + '       g   i     LK; i  + '       g   i     R# ; i)Invalid number of CZTmatchNr/   )pytestraises
ValueErrorr   r    r   r   test_empty_inputrf      sZ    	z)@	A	AB 
B	z)@	A	AS 
B	A 
B	A	A	A	A   A4B4B	B	c                  6   \         P                  ! \        R R7      ;_uu_ 4        \        ^4       RRR4       \         P                  ! \        R R7      ;_uu_ 4        \	        ^R4       RRR4       R#   + '       g   i     LK; i  + '       g   i     R# ; i)ztuple index out of ranger`   Nr/   )rb   rc   
IndexErrorr   r   re   r   r   test_0_rank_inputrj      sZ    	z)C	D	DA 
E	z)C	D	DC 
E	D 
E	D	D	D	Drg   impulser   r\   r&   c           	      L   \        \        V R ,          WVR7      \        P                  ! V\        P                  R7      RR7       \        \        V R,          WVR7      \        WVR7      R,          RR7       \        \        WW#R7      \        WVR7      R,          RR7       R# )	:r2   NNr   r&   r\   r-   r   r   :r1   NNNr0   )r   r   r    ones
complex128r   )rk   r   r&   r\   s   &&&&r   test_czt_mathrq      s~     Cq3GGAR]]3%A Cq31-r1? C/1-r1?r   c            
         \        \        \        ^ ^.^
^R7      4      R\        P                  ! ^
4      ,          RR7       \        \        ^^R7      ^^\        P                  ! ^\        P                  R7      ,          ,          RR7       R# )	r   )r   r\   r/   gV瞯<r   r&   r-   KH9N)r   absr   r    ro   r   rA   rp   re   r   r   test_int_argsrv      s\    CQFbA./RWWR[uMJrQ'q"))Bbmm<<=EKr   c            
         R	 Fe  p \        \        V 4      \        P                  ! R\        P                  ,          \        P
                  ! V 4      ,          V ,          4      RR7       Kg  	  \        \        ^^R7      \        P                  ! ^\        P                  R7      RR7       \        \        ^RR7      ^^\        P
                  ! ^\        P                  R7      ,          ,          RR7       \        ^^R^R7      p\        VP                  4       ^^\        P
                  ! ^4      ,          ,          RR7       R# )
r1   y               @rt   r   rs   r-   r   rm   N)r1   r2   r3         d   rN   rO   )
r   r   r    r>   rD   rA   ro   rp   r   points)rP   funcs     r   test_czt_pointsr}      s    .
1rvvbhryy|.CA.E'F"	$ / JqA&(GeTJrR(q"))Bbmm<<=EK rR2#DDKKM1a2&6#7eDr   z	cls, argsc                     V ! V!  p\         P                  ! \        R R7      ;_uu_ 4        V! \        P                  ! ^4      4       RRR4       R#   + '       g   i     R# ; i)zCZT defined forr`   N)rb   rc   rd   r    rA   )clsargsmyfuncs   && r   test_CZT_size_mismatchr      s>     $ZF	z):	;	;ryy| 
<	;	;	;s   AA#	c                      \         P                  ! \        R R7      ;_uu_ 4        \        ^d. RO4       RRR4       R#   + '       g   i     R# ; i)z2-length sequencer`   Nr1   r2   r3   )rb   rc   rd   r   re   r   r   test_invalid_ranger      s-    	z)<	=	=Y 
>	=	=	=s	   >A	c                     \         P                  ! \        R R7      ;_uu_ 4        \        V 4       RRR4       R#   + '       g   i     R# ; i)r_   r`   N)rb   rc   rd   r   r   s   &r   test_czt_points_errorsr      s-     
z)@	A	A1 
B	A	A	As	   ;A	rU   c                    \         P                  ! \        R R7      ;_uu_ 4        \        V ^4       RRR4       \         P                  ! \        R R7      ;_uu_ 4        \	        V R^4       RRR4       \         P                  ! \        R R7      ;_uu_ 4        \        ^V 4       RRR4       \         P                  ! \        R R7      ;_uu_ 4        \	        ^RV 4       RRR4       \         P                  ! \        R R7      ;_uu_ 4        \        . ROV 4       RRR4       \         P                  ! \        R R7      ;_uu_ 4        \        . RORV 4       RRR4       R#   + '       g   i     EL7; i  + '       g   i     EL; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)r_   r`   N皙?r   )rb   rc   rd   r   r   r   r   rT   s   &r   test_nonsense_sizer      s    
z)@	A	AD! 
B	z)@	A	Ac1 
B	z)@	A	AAt 
B	z)@	A	A3 
B	z)@	A	AIt 
B	z)@	A	AC& 
B	A 
B	A	A	A	A	A	A	A	A	A	A	A	A	A	AsG   E E4FFF.G E1	4F	F	F+	.F>	G	)r   r   r1   )r   r   r1   r   r   )r1   r3   r5   rx   rN   i  )r1   r2   r/   g?)Nyn?1*?)rz   )rz   r   )r   ig      @      @)r   g      @r   )"__doc__rb   scipy._lib._array_apir   	scipy.fftr   scipy.signalr   r   r   r   r   numpyr    r   r+   rL   rQ   markslowr]   rf   rj   parametrizeconcatenatearrayrE   rq   rv   r}   r   r   r   r   re   r   r   <module>r      s    1  B B 	'1<7t+ 4 4 Y%'^^RXXi5H57XXc]5D &E%F G 56./ 89? : 0 7G?K
E V}w
6K&LM N 
 01 2 !23' 4'r   