
    Pi%                     x   d dl Zd dlmZmZ d dlZd dlZd dlmZm	Z	m
Z
mZmZmZmZmZ d dlmZ d dlmZ d dlmZmZmZmZ d dlmc mZ ej        j        Z ej        d          Zej                             d eee	           eee          g          ej                             dg d	          ej                             d
g d          ej                             dd dg          ej                             dg d          ej                             dddg          d                                                                         Z! edd          ej                             dee	feefg          ej                             dg d	          ej                             dej"        ej#        ej$        ej%        ej&        g          ej                             dd dg          ej                             dg d          ej                             dddg          d                                                                                     Z'ej                             d ee
e           eee          g          ej                             dg d	          ej                             dg d          ej                             dg d          ej                             dddg          d                                                             Z( edd          ej                             de
efeefg          ej                             dg d	          ej                             dg d          ej                             dej"        ej#        ej$        ej%        ej&        g          ej                             dg d          ej                             dddg          d                                                                                     Z)ej                             d ee           ee           ee
           ee          g          ej                             dg d	          ej                             dg d          d                                     Z*ej                             d ee           ee           ee
           ee          g          ej                             dg d	          d                          Z+ej                             dg d!          ej                             d" eed#           eed           eed#          g          d$                         Z, ee          ej                             dg d!          d%                         Z-ej                             dg d!          ej                             d ee           ee          g          d&                         Z.ej                             dg d!          ej                             d ee           ee          g          d'                         Z/ edd(          ej                             dee	e
eeeeeg          d)                         Z0dS )*    N)assert_allcloseassert_array_equal)dctidctdctnidctndstidstdstnidstn)fftpack)xp_copyxp_assert_closemake_xp_test_casemake_xp_pytest_param   zforward, backwardtype)   r         n)r   r   r      
      axisr   norm)NbackwardorthoforwardorthogonalizeFTc                    |                     t          j                            ||                    } | |||||          }	 ||	||||          }
t	          |
|           dgdz  }d||<   |                     t          j        t          j         |	          |d                    } |||||||          }t	          ||           d S )N)r   r   r    r   r   r   r   r   edgemoder    )asarraynprandomrandr   pad)r   r   r   r   r   r   r    xpxyzr,   y2z2s                 x/home/jaya/work/projects/VOICE-AGENT/VIET/agent-env/lib/python3.11/site-packages/scipy/fft/tests/test_real_transforms.pytest_identity_1dr4      s     	

29>>!Q''((A4d]KKKADt$mLLLAAq(Q,CCI	BF2:a==#F;;;	<	<B	"dAtT	G	G	GBB    z/`overwrite_x` only supported for NumPy backend.)np_onlyreasondtypeoverwrite_xc                    t           j                            dd                              |          }|                                }	 | |||||          }
|
                                } ||
||||          }|s5t          ||dd           t          ||	           t          |
|           d S t          ||	dd           d S )N      )r   r   r9   ư>rtolatol)r)   r*   r+   astypecopyr   r   )r   r   r   r8   r   r   r9   r-   r.   x_origr/   y_origr0   s                r3   test_identity_1d_overwriterE   -   s     		q!##E**AVVXXF4d;GGGAVVXXFDt$KHHHA 914d33331f%%%1f%%%%%64888888r5   zshape, axes)	)r   r   r   )rF   r   )rF   N)rF   r   r   )r      N)rH   rG   )r   r      N)rJ   r   )rJ   )r   r   c                 D   |                     t          j                            |                    }|t          j        ||          } | |||||          }	 ||	||||          }
t	          |
|           |dg|j        z  }n;t          |t                    rdg|j        z  }d||<   ndg|j        z  }|D ]}d||<   |                     t          j        t          j         |	          |d                    } |||||||          }t	          ||           d S )N)axesr   r    r#   r"   r$   r%   r'   )	r(   r)   r*   taker   ndim
isinstanceintr,   )r   r   r   shaperM   r   r    r-   r.   r/   r0   r,   ar1   r2   s                  r3   test_identity_ndrT   G   sF   * 	

29##E**++At$$4d]KKKADt$mLLLAAq|h	D#		 hD		h 	 	ACFF 
BF2:a==#F;;;	<	<B	"dE4]	K	K	KBBr5   ))r   r   r   )rU   r   )rU   Nc	                    t           j                            |                              |          }	|	                                }
|t          j        ||          } | |	|||          }|                                } |||||          }|rt          ||
dd           d S t          ||	dd           t          |	|
           t          ||           d S )N)rM   r   r=   r>   )r)   r*   rA   rB   rN   r   r   )r   r   r   rR   rM   r8   r   r9   r-   r.   rC   r/   rD   r0   s                 r3   test_identity_nd_overwriterW   v   s    $ 		&&u--AVVXXFt$$4d...AVVXXFDt$///A &6488888814d33331f%%%1f%%%%%r5   funcc                 N   t           j                            dd          }|                     t	          t
          | j                  |||                    }|                    |          } t	          t          | j                  |||          }t          ||           d S )Nr<   r   )r   )	r)   r*   r+   r(   getattrr   __name__fftr   )rX   r   r   r-   r.   fftpack_resfft_ress          r3   test_fftpack_equivaliencer_      s     		q"A**<WWdm<<Q4PPPQQK


1A)gc4=))!T===GG[)))))r5   c                     |                     t          j                            d                    }dD ]2\  }} | ||||          } | |||          }t	          ||           3d S )Nd   ))r   F)r   F)r   Tr   r   r    )r   r   r(   r)   r*   r+   r   )rX   r   r-   r.   r   r   rS   bs           r3   test_orthogonalize_defaultre      s     	

29>>#&&''A  e
 DD>>>DD)))1 r5   )r   r   r   z
func, typer   c                     |                     t          j                            d                    } | |||d          } | |||d          }t	          ||           d S )Nra   Trb   Frc   )rX   r   r   r-   r.   y1r1   s          r3   test_orthogonalize_nooprh      si     	

29>>#&&''A	adT	:	:	:B	adU	;	;	;BBr5   c                 `   |                     t          j                            d                    }t	          ||          }t          j        |d                              t                     t          j        |d                              t                     t          |d| d          }t          |d| d          }t          j        |d          
                    t                     t          j        |d          
                    t                     t          ||           d S )	Nra   r-   r   r   Trb   F)r(   r)   r*   r+   r   xpxatmultiplySQRT_2r   divider   )r   r-   r.   x2rg   r1   s         r3   test_orthogonalize_dct1rr      s     	

29>>#&&''A	r			BF2qMM6"""F2rNNF###	QQT	6	6	6B	Rad%	8	8	8BF2qMM   F2rNN&!!!Br5   c                 :   |                     t          j                            d                    } | |d|d          } | |d|d          }t	          j        || j        dk    rdnd                              t                     t          ||           d S )	Nra   r   Trb   Fr   r   rk   )
r(   r)   r*   r+   rl   rm   r[   rp   ro   r   )rX   r   r-   r.   rg   r1   s         r3   test_orthogonalize_dcst2rt      s     	

29>>#&&''A	aad$	7	7	7B	aad%	8	8	8BF2DMU**qq33::6BBBBr5   c                 \   |                     t          j                            d                    }t	          ||          }t          j        || j        dk    rdnd                              t                      | |d|d          } | |d|d	          }t          ||           d S )
Nra   rj   r   r   rk   r   Trb   F)r(   r)   r*   r+   r   rl   rm   r[   rn   ro   r   )rX   r   r-   r.   rq   rg   r1   s          r3   test_orthogonalize_dcst3rv      s     	

29>>#&&''A	r			BF2DMU**qq33<<VDDD	aad$	7	7	7B	bqt5	9	9	9BBr5   z,array-likes only supported for NumPy backendc                     ddgddggddgddggddgddggg}t           ||           ||                     |                               d S )Ng      ?)r   r(   )r-   rX   r.   s      r3   test_array_likerx      so     *sCj	!*sCj	!*sCj	!	#A DDGGTT"**Q--0011111r5   )1numpyr)   numpy.testingr   r   pytestmath	scipy.fftr   r   r   r   r	   r
   r   r   r\   scipyr   scipy._lib._array_apir   r   r   r   scipy._lib.array_api_extra_libarray_api_extrarl   markskip_xp_backendssqrtro   parametrizer4   float16float32float64	complex64
complex128rE   rT   rW   r_   re   rh   rr   rt   rv   rx    r5   r3   <module>r      s	       = = = = = = = =   D D D D D D D D D D D D D D D D D D D D            9 9 9 9 9 9 9 9 9 9 9 9 ( ( ( ( ( ( ( ( (;/ 	1 ,/C/CC/N/N/C/CC/N/N/P Q Q..22233!Q((!G!G!GHH5$-88  98 IH )( 43 /.Q Q  $JL L L,T{S$K.HII..2:rz2:#%<#@ A A!Q((!G!G!GHHu669 9 76 IH )(A A /. JIL L9" ,/C/CD%/P/P/C/CD%/P/P/R S S..
 
 
  !G!G!GHH5$-88  98 IH  /.S S"< $JL L L,e}tUm.LMM..    2:rz2:#%<#@ A A!G!G!GHH66& & 76 IHA A  /. NML L&* "6"6s";";"6"6s";";"6"6t"<"<"6"6t"<"<"> ? ? ..!G!G!GHH* * IH /.	? ?* "6"6s";";"6"6s";";"6"6t"<"<"6"6t"<"<"> ? ? ..  /.	? ?
 !A!A!ABB(<(<S!(D(D(<(<S!(D(D(<(<S!(D(D(F G G G G CB 3!A!A!ABB  CB   !A!A!ABB"6"6s";";"6"6s";";"= > > > > CB !A!A!ABB"6"6s";";"6"6s";";"= > > > > CB $GI I I#tT5#tT5!QRR2 2 SRI I2 2 2r5   