+
    /i                        ^ RI t ^ RIt^ RIt^ RIt^ RIHtHtHt ^ RI	H
t
 ^ RIHtHt ]P                  P                  tR t]P                  P#                  RRR.4      ]P                  P#                  R	. RO4      ]P                  P#                  R
. RO4      ]P                  P#                  R^@^?.4      R 4       4       4       4       tR t]P                  P#                  R^@^?.4      R 4       t]! RRR7      ]P                  P#                  R]].4      R 4       4       t]P                  P#                  R^^.4      R 4       tR# )    N)fhtifht	fhtoffset)poch)xp_assert_closexp_assert_lessc                    R  p\         P                  ! R^^4      p\        P                  ! V^,          V^ ,          ,          4      pRpRpRpV P	                  V! W$4      4      p\        WsWEVR7      p. R	Op	V P	                  WP                  R7      p	\        W4       \        W4VR7      p\        WsWEVR7      p. R
Op	V P	                  WP                  R7      p	\        W4       Rp\        W4VR7      p\        V4      p\        WsWEVR7      p. ROp	V P	                  WP                  R7      p	\        W4       Rp\        W4VR7      p\        V4      p\        WsWEVR7      p. ROp	V P	                  WP                  R7      p	\        W4       R# )c                 t    W^,           ,          \         P                  ! V ^,          ) ^,          4      ,          #    )npexp)rmus   &&Y/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/fft/tests/test_fftlog.pyf&test_fht_agrees_with_fftlog.<locals>.f   s%    a4yAa((    g333333?        offsetbiasdtyper   g?N)g=lSgl1Z?gpR_g~]
o?g0d@?g?g02u?g7c4Uo?gU/5?gޠ3JgQiIg!m9?g 1g?Jb7?g tj3Bg 	'K?)g Dy?g TIg 94?gB M?gQ89w?gĥ?gZT3%?gz;_x?g9%P?gv@݆gAAY]?gayig;gGI<!?g F\mgH ?g @(LG)gU_g0E>y7?g4⬞	F?gR^ء*9g-g?g!a?gR޴ ?gmMUU?g .?g'?eHgZ7ZP?gmܷ`%gCGT?g2Tg҅u>g/&g)gG3>g`4]<]?g[8+?g,8GdP?g
u?g,ח$5?g~}?gra,4?gV?gh`>EgDgyٖ?gP2ZSg͆˝?gܺJ?g[U+@g"%@)
r   logspacemathlogasarrayr   float64r   r   float)
xpr   r   dlnr   r   r   aourstheirss
   &         r   test_fht_agrees_with_fftlogr(      sp   ) 	B2A
((1Q4!9
C	BFD


1Q8A qrt4D@F ZZjjZ1FD! sT*Fqrt4D@F ZZjjZ1FD! DsT*F 6]Fqrt4D@F ZZjjZ1FD! DsT*F6]Fqrt4D@F ZZjjZ1FD!r   optimalTFr   r   nc                 ^   \         P                  P                  R 4      pVP                  VP	                  V 4      4      pVP                  R^4      pVP                  R^4      pV'       d   \        WxW!R7      p\        V4      p\        WgWVR7      p	\        WWVR7      p
\        WRR7       R# )   E3  initialr   r   gv!>)rtolN)r   randomRandomStater    standard_normaluniformr   r"   r   r   r   )r*   r   r   r)   r#   rngr%   r$   r   Aa_s   &&&&&      r   test_fht_identityr9   a   s    
 ))



+C


3&&q)*A
++b!
C	R	B3F> vABD1A	abd	3BB'r   c           	         \         P                  P                  R 4      pV P                  VP	                  ^@4      4      pVP                  R
^4      pRRrT\        P                  ! RR7      ;_uu_ 4       p\        W#WER7       V'       d   Q R4       h RRR4       RRrT\        P                  ! RR7      ;_uu_ 4       p\        W#WER7       V'       d   Q R4       h RRR4       RRrT\        P                  ! \        4      ;_uu_ 4       p\        W#WER7       V'       g   Q R4       h RRR4       RRrT\        P                  ! \        4      ;_uu_ 4       p\        W#WER7       V'       g   Q R	4       h RRR4       R#   + '       g   i     L; i  + '       g   i     L; i  + '       g   i     L; i  + '       g   i     R# ; i)r,         ?T)recordr   z)fht warned about a well-defined transformN      ?z+fht did not warn about a singular transformz,ifht did not warn about a singular transformr0   g      g      g      )r   r2   r3   r    r4   r5   warningscatch_warningsr   pytestwarnsWarningr   )r#   r6   r%   r$   r   r   r<   s   &      r   test_fht_special_casesrC   z   sM   
))



+C


3&&r*+A
++b!
C
 S		 	 	-	-AB"FFFz6 
.
 S		 	 	-	-AB"FFFz6 
. S	g		&AB"DDDv 
 S	g		&QR#EEEv 
	) 
.	- 
.	- 
	 
		s0   4E:<FF F3:F
	F	 F0	3G	c                    \         P                  P                  R 4      pVP                  ^ ^4      pVP                  RV,
          R4      p\         P                  ! R^V 4      pVP                  WT,          4      p\        P                  ! V^,          V^ ,          ,          4      p\        WsRVR7      p\        V4      p\        WgW8VR7      p	\         P                  ! V4      VRRR1,          ,          p
VP                  ^V
,          V,          \        V^,           V,
          ^,          V4      ,          4      p\        W4       R# )r,   r   r-   r   Nr0   r=   r1   )r   r2   r3   r5   r   r    r   r   r   r"   r   r   r   r   )r*   r#   r6   r   gammar   r%   r$   r   r7   kAts   &&          r   test_fht_exactrH      s    
))



+C
 
Q	B KK2s#E
B1A


18A
((1Q4!9
Cs%8F 6]FABE2A
vq2wA 
QqS5L4AeQ#>>	?BAr   z,array-likes only supported for NumPy backend)np_onlyreasonopc                     R R .R R ..R R .R R ..R R .R R ...p\        V! VR R4      V! V P                  V4      R R4      4       R# )r;   g       @N)r   r    )r#   rK   xs   && r   test_array_likerN      s`     *sCj	!*sCj	!*sCj	!	#A Bq#sOR

1sC%@Ar   c                 ~  a  S P                  R 4      pRp\        P                  ! R	^V4      p\        P                  ! V^,          V^ ,          ,          4      p\        VR
\        P                  ! ^
4      ,          VR7      pS P                  WBP                  R7      p\        P                  ! V4      S P                  VRR7      ,          pV 3R lpV! WC4      p	\        WW6R7      p
V! Ws4      pS P                  S P                  W,
          V,          4      4      p\        VS P                  R4      R,          4       R# )r;   r   )r.   r   r   )axisc                 l   < W^,           ,          SP                  V ^,          ) ^,          4      ,          # r   )r   )rM   r   r#   s   &&r   r   test_gh_21661.<locals>.f   s&    6{2661a4%'?**r   )r   r   g `m3*pCNiir0    )r    r   r   r   r   r   r   r   flipr   maxabsr   )r#   r*   oner   r   r$   r   rF   r   a_rfht_vala_krel_errs   f&           r   test_gh_21661r\      s    
**S/C	B
B1A
((1Q4!A$;
CsBO;F


1II
&A277127..A+ A(C#r1G
A(CffRVVW]c123G7BJJx045r   )r   r;   g      )r   g?g)r>   r   numpyr   r@   scipy.fft._fftlogr   r   r   scipy.specialr   scipy._lib._array_apir   r   markskip_xp_backendsr(   parametrizer9   rC   rH   rN   r\   rS   r   r   <module>rd      sE       2 2  A;;// O"d T5M2#340r2h'( ( 1 5 3(* FF r2h' (< $GIT{+B ,IB sCj)6 *6r   