+
    /i5                     V   R t ^ RIHtHtHt ^ RIHtHtHtH	t	H
t
HtHtHtHtHtHtHtHt ^ RIt^ RIHtHtHtHtHtHtHtHt ^ RIHt RR ltRR lt RR lt!R	 t"R
 t#RR lt$ ! R R4      t% ! R R4      t& ! R R4      t' ! R R4      t( ! R R4      t) ! R R4      t* ! R R4      t+R# )z
Build fftpack:
  python setup_fftpack.py build
Run tests if scipy is installed:
  python -c 'import scipy;scipy.fftpack.test(<level>)'
Run tests if fftpack is not installed:
  python tests/test_pseudo_diffs.py [<level>]
)assert_equalassert_almost_equalassert_array_almost_equal)difffftiffttilbertitilberthilbertihilbertshiftfftfreqcs_diffsc_diffss_diffcc_diffN)arangesincospiexptanhsumsign)randomc                 J   \        V 4      p\        V4      pVf   ^\        ,          p\        V4      R,          \        ,          V,          V,          pV^ 8  d   ^WQ,          ,          pRV^ &   MWQ,          pVR8  d   RV^V^,
          % \	        WS,          4      P
                  # )N               @        i  )r   lenr   r   r   real)xkperiodfxnws   &&&   c/var/www/html/photoedit/myenv/lib/python3.14/site-packages/scipy/fftpack/tests/test_pseudo_diffs.pydirect_diffr'      s    	QBBA~2
2b!A1uH!D4x#ae:??    c                    \        V 4      p\        V4      pVf   ^\        ,          p\        V4      V,          ^,          \        ,          V,          V,          p^V^ &   R\	        V4      ,          pRV^ &   \        WS,          4      # )N              ?y                r   r   r   r   r   r   r    hr"   r#   r$   r%   s   &&&   r&   direct_tilbertr.   '   sm    	QBBA~2
1Qr& "AAaD
47
AAaD:r(   c                     \        V 4      p\        V4      pVf   ^\        ,          p\        V4      V,          ^,          \        ,          V,          V,          pR\	        V4      ,          p\        WS,          4      # )Ny             r+   r,   s   &&&   r&   direct_itilbertr0   3   s[    	QBBA~2
1Qr& "ADGA:r(   c                     \        V 4      p\        V4      p\        V4      V,          pR \        V4      ,          p\	        W1,          4      # )r*   )r   r   r   r   r   )r    r#   r$   r%   s   &   r&   direct_hilbertr2   =   s:    	QBBA
1A
47
A:r(   c                     \        V 4      ) # N)r2   )r    s   &r&   direct_ihilbertr5   E   s    1r(   c                    \        V 4      pVf   \        V4      R,          V,          pM+\        V4      R,          \        ,          V,          V,          p\        \	        V 4      \        WA,          4      ,          4      P                  # )Nr*   r   )r   r   r   r   r   r   r   )r    ar"   r$   r!   s   &&&  r&   direct_shiftr8   I   s\    AA~AJrM!OAJrM"V#A%As13x %%%r(   c                   V   a  ] tR t^Rt o R tR tR tR tR tR t	R t
R tR	 tR
tV tR# )TestDiffc                   R EF  p\        V4      ^,          \        ,          V,          p\        \        \	        V4      4      \        \	        V4      4      4       \        \        \	        V4      ^4      \        \	        V4      ^4      4       \        \        \	        V4      ^4      \        \	        V4      ^4      4       \        \        \	        V4      ^4      \        \	        V4      ^4      4       \        \        \	        V4      ^4      \        \	        V4      ^4      4       \        \        \	        ^V,          4      ^4      \        \	        ^V,          4      ^4      4       \        \        \	        ^V,          4      ^4      \        \	        ^V,          4      ^4      4       \        \        \        V4      4      \        \        V4      4      4       \        \        \        V4      ^4      \        \        V4      ^4      4       \        \        \        V4      ^4      \        \        V4      ^4      4       \        \        \        V4      ^4      \        \        V4      ^4      4       \        \        \        ^V,          4      4      \        \        ^V,          4      4      4       \        \        \	        W!,          ^,          4      4      \        \	        W!,          ^,          4      4      4       \        \        \        W!,          ^,          4      4      \        \        W!,          ^,          4      4      4       \        ^4       F  p\        \        \	        ^V,          4      V4      \        \	        ^V,          4      V4      4       \        \        \        ^V,          4      V4      \        \        ^V,          4      V4      4       K  	  EK  	  R# )   N)r<      @          )r   r   r   r   r   r'   r   range)selfr$   r    r!   s   &   r&   test_definitionTestDiff.test_definitionT   sT   "Aq	!Bq A%d3q6l;s1v3FG%d3q6!n[Q5JK%d3q6!n[Q5JK%d3q6!n[Q5JK%d3q6!n[Q5JK%d3qs8A&6{3qs8A7NO%d3qs8A&6{3qs8A7NO%d3q6l;s1v3FG%d3q6!n[Q5JK%d3q6!n[Q5JK%d3q6!n[Q5JK%d3qs8n[QqS5JK%d3qs1u:&6{3qs1u:7NO%d3qs1u:&6{3qs1u:7NO1X)$s1Q3x*:;s1Q3xPQ;RS)$s1Q3x*:;s1Q3xPQ;RS ! #r(   c           	        R F  p\        V4      \        V4      ,          p\        \        \	        ^\
        ,          V,          4      ^R7      ^\
        ,          \        ^\
        ,          V,          4      ,          4       \        \        \	        ^\
        ,          V,          4      ^^R7      ^\
        ,          ^,          ) \        ^\
        ,          V,          4      ,          4       K  	  R# )r=   )r"   N)r=   r>   )r   floatr   r   r   r   r   rB   r$   r    s   &  r&   test_periodTestDiff.test_periodi   s    Aq	%("A%d3qtAv;a&@&'d3qtAv;&68%d3qtAv;q&B()"qyjQrT!V&<>	 r(   c           
        R EFM  p\        V4      ^,          \        ,          V,          p\        \        \	        V4      4      \        V4      4       \        \        \        V4      4      \	        V4      ) 4       \        \        \	        V4      ^4      \	        V4      ) 4       \        \        \	        V4      ^4      \	        V4      4       \        \        \	        ^V,          4      4      ^\        ^V,          4      ,          4       \        \        \	        \	        V4      4      4      \        V4      \        \	        V4      4      ,          4       EKP  	  R# )r@   N)r@   r>   M   r   r   r   r   r   r   rG   s   &  r&   test_sinTestDiff.test_sinq   s    Aq	!Bq A%d3q6l3q6:%d3q6lCF7;%d3q6!nc!fW=%d3q6!nSV<%d3qs8nQs1Q3xZ@%d3s1v;&7As3q6{8JK r(   c           	     x   . ROR,           EF)  p\        V4      ^,          \        ,          V,          p\        V4      \        ^V,          4      ,          \	        \        ^V,          4      4      ,           p\        V4      \        ^V,          4      ,          ^\        V4      ,          \        ^V,          4      ,          ,
          ^\        ^V,          4      ,          \	        \        ^V,          4      4      ,          ,           pR\        V4      ,          \        ^V,          4      ,          ^\        V4      ,          \        ^V,          4      ,          ,
          ^	\        ^V,          4      ,          \	        \        ^V,          4      4      ,          ,
          ^	\        ^V,          4      ^,          ,          \	        \        ^V,          4      4      ,          ,           p\        V4      p\        Wd4       \        \        V4      V4       \        \        V^4      V4       \        \        VR4      V4       EK,  	  R# )r>   :N   NN)
r>   rK   d         i   i         i    )r   r   r   r   r   r   r   )rB   r$   r    fdfddfd1s   &      r&   	test_exprTestDiff.test_expr{   sd   <R@@Aq	!Bq AAs1Q3xC!H-AQAaC3q6#ac(!221S1X:c#ac(m3KKBc!f*S1X%aAhs1Q3x&77S1X:c#ac(m+,,-c!A#hkM#c!A#h-,GHCaB%b,%d2hs3%d1Qi4%d3rl26 Ar(   c           	     d   R EF(  p\        V4      ^,          \        ,          V,          p\        V4      \        ^V,          4      ,          \	        \        ^V,          4      4      ,           p\        V4      \        ^V,          4      ,          ^\        V4      ,          \        ^V,          4      ,          ,
          ^\        ^V,          4      ,          \	        \        ^V,          4      4      ,          ,           pR\        V4      ,          \        ^V,          4      ,          ^\        V4      ,          \        ^V,          4      ,          ,
          ^	\        ^V,          4      ,          \	        \        ^V,          4      4      ,          ,
          ^	\        ^V,          4      ^,          ,          \	        \        ^V,          4      4      ,          ,           p\        \        V4      V4       \        \        V4      V4       \        \        VR4      V4       \        \        V^4      V4       EK+  	  R# )rT   N)rT   rU   rV   rW   )r   r   r   r   r   r   r   )rB   r$   r    rX   rY   rZ   s   &     r&   test_expr_largeTestDiff.test_expr_large   sX   Aq	!Bq AAs1Q3xC!H-AQAaC3q6#ac(!221S1X:c#ac(m3KKBc!f*S1X%aAhs1Q3x&77S1X:c#ac(m+,,-c!A#hkM#c!A#h-,GHC%d1gb1%d2hs3%d3rl26%d1Qi4 r(   c           	        ^@p\        V4      ^,          \        ,          V,          p\        \        \	        V4      R4      \        V4      ) 4       \        \        \	        V4      R4      \	        V4      ) 4       \        \        \	        V4      R4      \	        V4      4       \        \        ^\        ^V,          4      ,          R4      \	        ^V,          4      4       R# )r>   NrW   rL   rG   s   &  r&   test_intTestDiff.test_int   s    1IaKN1!$s1vb/3q6':!$s1vb/3q6':!$s1vb/#a&9!$qQqSz""5c!A#h?r(   c           
        \         P                  P                  R 4      pR F  pR F  pVP                  V34      p\        V^ R7      V,          pWE,
          p\	        \	        V^4      R4      p\        \        V^ R7      R4       \        \	        \	        WB4      V) 4      V4       \        \	        \	        WB) 4      V4      V4       K  	  K  	  R# )  axisr   N)             )<   r@   r>   8   7   rW   npr   default_rngr   r   r   r   rB   rngr!   r$   rX   afs   &     r&   test_random_evenTestDiff.test_random_even   s    ii##D)A%JJt$]1_Da2&#CqM#6)$tAy!*<Q?)$tAbz!*<Q? & r(   c           
     r   \         P                  P                  R 4      pR F  pR F  pVP                  V34      p\        V^ R7      V,          pWE,
          p\	        \        V^ R7      R4       \        \        \        WB4      V) 4      V4       \        \        \        WB) 4      V4      V4       K  	  K  	  R# )rg   rh   r   Nrj      rk      rl   rP   rm   !   A   rp   )rr   r   rs   r   r   r   r   rt   s   &     r&   test_random_oddTestDiff.test_random_odd   s    ii##D) AJJt$]1_D#CqM#6)$tAy!*<Q?)$tAbz!*<Q?   !r(   c           
        \         P                  P                  R 4      pR F  pR F  pVP                  V34      p\        V^ R7      V,          pWE,
          p\	        \	        V^4      R4      p\        \        V^ R7      R4       \        \	        \	        WB4      V) 4      V4       \        \	        \	        WB) 4      V4      V4       K  	  K  	  R# )rg   rh   r   Nrz   )r@   r~   r>   ro   rp   rW   rq   rt   s   &     r&   test_zero_nyquistTestDiff.test_zero_nyquist   s    ii##D) A%JJt$]1_Da2&#CqM#6)$tAy!*<Q?)$tAbz!*<Q? & !r(    N)__name__
__module____qualname____firstlineno__rC   rH   rM   r\   r_   rd   rw   r   r   __static_attributes____classdictcell____classdict__s   @r&   r:   r:   R   s>     T*>L7
5@@	@@ @r(   r:   c                   2   a  ] tR t^t o R tR tR tRtV tR# )TestTilbertc                   R F  pR F  p\        V4      ^,          \        ,          V,          p\        \        V4      V4      p\	        \        V4      V4      p\        WE4       \        \        \        V4      V4      \	        \        V4      V4      4       \        \        \        ^V,          4      V4      \	        \        ^V,          4      V4      4       K  	  K  	  R# 皙?Nr   g      ?r{   g      @
   r<   r=   r>   r?   )r   r   r   r   r.   r   rB   r-   r$   r    yy1s   &     r&   rC   TestTilbert.test_definition   s    #A#1IaKN1$CF1%#CF1-)!/)'#a&*;*8Q*BD)'#ac(1*=*8QqS!*DF $ $r(   c           
         R Fj  pR Fa  p\        V34      p\        V^ R7      V,          pW4,
          p\        \        V^ R7      R4       \        \	        \        W14      V4      V4       Kc  	  Kl  	  R# )r   rh   r   Nr   r@   r>   ro   )r   r   r   r   r.   r0   )rB   r-   r$   rX   rv   s   &    r&   rw   TestTilbert.test_random_even   s^    #AA4L]1_D#CqM#6).9Ma*PQRS   $r(   c           
     n   \         P                  P                  R 4      pR F  pR F  pVP                  V34      p\        V^ R7      V,          pWE,
          p\	        \        V^ R7      R4       \        \        \        WB4      V4      V4       \        \        \        WB4      V4      V4       K  	  K  	  R# )rg   rh   r   Nr   r}   )rr   r   rs   r   r   r   r	   r   )rB   ru   r-   r$   rX   rv   s   &     r&   r   TestTilbert.test_random_odd   s    ii##D)#AJJt$]1_D#CqM#6)(71<*B1E)'(1-*B1E   $r(   r   N)	r   r   r   r   rC   rw   r   r   r   r   s   @r&   r   r      s     
FT	F 	Fr(   r   c                   &   a  ] tR t^t o R tRtV tR# )TestITilbertc                   R F  pR F  p\        V4      ^,          \        ,          V,          p\        \        V4      V4      p\	        \        V4      V4      p\        WE4       \        \        \        V4      V4      \	        \        V4      V4      4       \        \        \        ^V,          4      V4      \	        \        ^V,          4      V4      4       K  	  K  	  R# r   )r   r   r	   r   r0   r   r   s   &     r&   rC   TestITilbert.test_definition   s    #A#1IaKN1$SVA&$SVA.)!/)(3q6!*<*9#a&*CE)(3qs8A*>*9#ac(1*EG $ $r(   r   Nr   r   r   r   rC   r   r   r   s   @r&   r   r      s     
G 
Gr(   r   c                   8   a  ] tR t^t o R tR tR tR tRtV t	R# )TestHilbertc           
     B   R F  p\        V4      ^,          \        ,          V,          p\        \        V4      4      p\	        \        V4      4      p\        W44       \        \        \        ^V,          4      4      \	        \        ^V,          4      4      4       K  	  R# r<   Nr   )r   r   r
   r   r2   r   rB   r$   r    r   r   s   &    r&   rC   TestHilbert.test_definition   sm    Aq	!Bq AAAA'B%a+%gc!A#h&7&4S1X&>@  r(   c                6   R F  p\        V4      ^,          \        ,          V,          p\        V4      \        ^V,          4      \        V4      ,          ,           p\	        V4      p\        V4      p\        WE4       \        V^
R7      p\        WF4       K  	  R# r<   )r-   Nr   )r   r   r   r   r
   r2   r   r   rB   r$   r    rX   r   r   y2s   &      r&   test_tilbert_relation!TestHilbert.test_tilbert_relation   sn    Aq	!Bq AAs1Q3xA&A
A"B%a+RB%a+  r(   c                X   \         P                  P                  R 4      pR F  pVP                  V34      p\        V^ R7      V,          pW4,
          p\	        \        V^ R7      R4       \        \        \        V4      4      V4       \        \        \        V4      4      V4       K  	  R# )rg   rh   r   Nr}   )rr   r   rs   r   r   r   r   r
   rB   ru   r$   rX   rv   s   &    r&   r   TestHilbert.test_random_odd	  s|    ii##D)A

A4 AQAqBAA1c2%hwqz&:1=%ghqk&:1= r(   c                   \         P                  P                  R 4      pR F  pVP                  V34      p\        V^ R7      V,          pW4,
          p\	        \	        V^4      R4      p\        \        V^ R7      R4       \        \        \        V4      4      V4       \        \        \        V4      4      V4       K  	  R# )rg   rh   r   Nr   rW   )rr   r   rs   r   r   r   r   r2   r5   r
   r   r   s   &    r&   rw   TestHilbert.test_random_even  s    ii##D)A

A4 AQAqBAT!AYr"AA1c2%n_Q5G&HK%ghqk&:1= r(   r   N)
r   r   r   r   rC   r   r   rw   r   r   r   s   @r&   r   r      s     @,>
> 
>r(   r   c                   ,   a  ] tR tRt o R tR tRtV tR# )TestIHilberti   c           
     B   R F  p\        V4      ^,          \        ,          V,          p\        \        V4      4      p\	        \        V4      4      p\        W44       \        \        \        ^V,          4      4      \	        \        ^V,          4      4      4       K  	  R# r   )r   r   r   r   r5   r   r   s   &    r&   rC   TestIHilbert.test_definition"  sn    Aq	!Bq AQ A Q(B%a+%hs1Q3x&8&5c!A#h&?A  r(   c                6   R F  p\        V4      ^,          \        ,          V,          p\        V4      \        ^V,          4      \        V4      ,          ,           p\	        V4      p\        V4      p\        WE4       \        V^
R7      p\        WF4       K  	  R# r   )r   r   r   r   r   r5   r   r	   r   s   &      r&   test_itilbert_relation#TestIHilbert.test_itilbert_relation+  so    Aq	!Bq AAs1Q3xA&AA #B%a+!b!B%a+  r(   r   N)r   r   r   r   rC   r   r   r   r   s   @r&   r   r      s     A, ,r(   r   c                   &   a  ] tR tRt o R tRtV tR# )	TestShifti6  c                    R EF  p\        V4      ^,          \        ,          V,          pR EF4  p\        \        \	        V4      V4      \        \	        V4      V4      4       \        \        \	        V4      V4      \	        W#,           4      4       \        \        \        V4      V4      \        W#,           4      4       \        \        \        ^V,          4      \	        V4      ,           V4      \        ^W#,           ,          4      \	        W#,           4      ,           4       \        \        \        \	        V4      4      V4      \        \	        W#,           4      4      4       EK7  	  \        \        \	        V4      ^\        ,          4      \	        V4      4       \        \        \	        V4      \        4      \	        V4      ) 4       \        \        \	        V4      \        ^,          4      \        V4      4       EK  	  R# )   N)r   r=   r>   r?   r@   rT   rS   )r   r|   )r   r   r   r   r   r8   r   r   )rB   r$   r    r7   s   &   r&   rC   TestShift.test_definition8  s3   +Aq	!Bq A)%Aq/,s1va:PQ)%Aq/#ac(C)%Aq/#ac(C)%AaCQ*B*-ag,s13x*?A)%CFA*>s3qs8}M  &eCF1R4&8Q@%eCF2&6Aw?%eCF2a4&8Q@ ,r(   r   Nr   r   s   @r&   r   r   6  s     A Ar(   r   c                      a  ] tR tRt o Rt]P                  ]P                  3t]]P                  ]P                  3,           tR tR tR tR tR tR tR	 tR
 tR tR tR tRtV tR# )TestOverwriteiG  zCheck input overwrite behavior c                    VP                  4       pV! V.VO5/ VB  VP                  pV'       d   V\        V4      ,          pV'       d   V\        V4      ,          p\        WQR V 2R7       R# )zspurious overwrite in )err_msgN)copyr   reprr   )rB   r    routineargskwargsx2sigs   &&&*,  r&   _checkTestOverwrite._checkM  s^    VVX$T$V$4:C4<CR&<SE$BCr(   c                b   \         P                  P                  R 4      p\         P                  ! V\         P                  4      '       d.   VP
                  ! V!  RVP
                  ! V!  ,          ,           pMVP
                  ! V!  pVP                  V4      pV P                  ! Wq.VO5/ VB  R# )rg   r*   N)rr   r   RandomState
issubdtypecomplexfloatingrandnastyper   )rB   r   dtypeshaper   r   ru   datas   &&&&*,  r&   	_check_1dTestOverwrite._check_1dW  s    ii##D)== 2 23399e$r#))U*;';;D99e$D{{5!D3D3F3r(   c                Z    V P                    F  pV P                  \        VR4       K  	  R# r<   Nr<   )dtypesr   r   rB   r   s   & r&   	test_diffTestOverwrite.test_diffb  s     [[ENN4. !r(   c                \    V P                    F  pV P                  \        VRR4       K  	  R# r<   g?Nr   )r   r   r   r   s   & r&   test_tilbertTestOverwrite.test_tilbertf  s"    [[ENN7E5#6 !r(   c                \    V P                    F  pV P                  \        VRR4       K  	  R# r   )r   r   r	   r   s   & r&   test_itilbertTestOverwrite.test_itilbertj  s"    [[ENN8UE37 !r(   c                Z    V P                    F  pV P                  \        VR4       K  	  R# r   )r   r   r
   r   s   & r&   test_hilbertTestOverwrite.test_hilbertn  s     [[ENN7E51 !r(   c                ^    V P                    F  pV P                  \        VRRR4       K  	  R# r<         ?g      @Nr   )r   r   r   r   s   & r&   test_cs_diffTestOverwrite.test_cs_diffr  $    [[ENN7E5#s; !r(   c                ^    V P                    F  pV P                  \        VRRR4       K  	  R# r   )r   r   r   r   s   & r&   test_sc_diffTestOverwrite.test_sc_diffv  r   r(   c                ^    V P                    F  pV P                  \        VRRR4       K  	  R# r   )r   r   r   r   s   & r&   test_ss_diffTestOverwrite.test_ss_diffz  r   r(   c                ^    V P                    F  pV P                  \        VRRR4       K  	  R# r   )r   r   r   r   s   & r&   test_cc_diffTestOverwrite.test_cc_diff~  r   r(   c                \    V P                    F  pV P                  \        VRR4       K  	  R# )r<   r   Nr   )r   r   r   r   s   & r&   
test_shiftTestOverwrite.test_shift  s"    [[ENN5%4 !r(   r   N)r   r   r   r   __doc__rr   float32float64real_dtypes	complex64
complex128r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   s   @r&   r   r   G  sn     )::rzz*KBLL"--88FD	4/782<<<<5 5r(   r   )r{   Nr4   ),	__usage__numpy.testingr   r   r   scipy.fftpackr   r   r   r   r	   r
   r   r   r   r   r   r   r   numpyrr   r   r   r   r   r   r   r   r   numpy.randomr   r'   r.   r0   r2   r5   r8   r:   r   r   r   r   r   r   r   r(   r&   <module>r     s   	6 6- - - -  < < <  	&m@ m@` F  FFG G)> )>X, ,,A A"=5 =5r(   