
    !Цi                         S SK rS SKJrJrJr  S SKrS rS rS r	S r
S rS rS	 rS
 rS rS rS rS rS rS rS rg)    N)assert_assert_allcloseassert_raisesc                     [         R                  " S5      n [        R                  " SU S5      n[        R                  " SU S5      n[        R                  " SUSSS9[        R                  " SUSSS9-   n[        X05        g )N   ahaard)take)nparangepywtdowncoefupcoefr   )datar   r
   recs       T/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/pywt/tests/test__pywt.pytest_upcoef_reconstructr   
   sf    99Q<Dc4(Ac4(A;;sAvA.;;sAvA./CC    c                     [         R                  R                  S5      n U R                  S5      nSnUR	                  5       n[        U5       H  n[        R                  " SUSSS9nM     [        R                  " SUSUS9n[        X55        g )N     r   r   r	      level)	r   randomRandomStaterandncopyranger   r   r   rstaternlevelsa1ia3s         r   test_downcoef_multilevelr(      st    YY""4(FRAG	
B7^]]3F!4  
sAvW	5BBr   c            	      f   [         R                  R                  S5      n U R                  S5      SU R                  S5      -  -   nSn[        R
                  " SUSUS9n[        R
                  " SUR                  SUS9nUS[        R
                  " SUR                  SUS9-  -   n[        X45        g )Nr   r                 ?r   r   r	   r   )	r   r   r   r   r   r   realimagr   r"   r#   r$   r   a_refs        r   test_downcoef_complexr/   !   s    YY""4(FR2R 000AGc1fG4AMM#qvvvW=EBsAFFF'JJJEAr   c                  n    [        [        [        R                  S[        R
                  " S5      S5        g )Nfr   r	   )r   
ValueErrorr   r   r   ones r   r   test_downcoef_errsr5   +   s    *dmmS"''"+vFr   c            	      J   [         R                  R                  S5      n U R                  S5      nS H  n[        R
                  " 5        H  nUS;   a  M  [        R                  " U5      n[        U[        R                  5      (       d  MB  [        R                  " UR                  UR                  5      nX$::  d  Mt  [        R                  " SXUS9n[        R                  " SXUS9n[        R                  " XUS9n[        XWS   5        [        XgS	   5        M     M     g )
Nr   r   )r      r   )cmorshanfbspr   r   r
   r   r   )r   r   r   r   r   wavelistDiscreteContinuousWavelet
isinstanceWaveletdwt_max_levelsizedec_lenr   wavedecr   )r"   r#   r$   wavelet	max_levelr   r
   coeffss           r   test_compare_downcoef_coeffsrF   0   s    YY""4(FRA}}G2244W=G'4<<00 ..qvvwG	'c1WEAc1WEA!\\!GDF#Aay1#Aay1 ' r   c                     [         R                  R                  S5      n U R                  S5      nSnUR	                  5       n[        U5       H  n[        R                  " SUSSS9nM     [        R                  " SUSUS9n[        X55        g )Nr      r   r   r	   r   r   )	r   r   r   r   r   r    r   r   r   r!   s         r   test_upcoef_multilevelrI   D   ss    YY""4(FQAG	
B7^[[b&2  
S!V7	3BBr   c            	      f   [         R                  R                  S5      n U R                  S5      SU R                  S5      -  -   nSn[        R
                  " SUSUS9n[        R
                  " SUR                  SUS9nUS[        R
                  " SUR                  SUS9-  -   n[        X45        g )Nr   rH   r*   r   r   r	   r   )	r   r   r   r   r   r   r+   r,   r   r-   s        r   test_upcoef_complexrK   Q   s    YY""4(FQ"V\\!_,,AGCF'2AKKQVVV7;EBt{{3gFFFEAr   c                  n    [        [        [        R                  S[        R
                  " S5      S5        g )Nr1   rH   r	   )r   r2   r   r   r   r3   r4   r   r   test_upcoef_errsrM   [   s    *dkk3
FCr   c                      S H^  n [         R                  " SU -  5      n[        [        [        R
                  SUS5        [        [        [        R                  SUS5        M`     g )N)r7   r   )   r   r	   )r   r3   r   r2   r   r   r   )ndimr   s     r    test_upcoef_and_downcoef_1d_onlyrQ   `   sF    wwuTz"j$--dFCj$++sD&A r   c                      SSK Jn   U R                  S5      n[        UR	                  5       5      n[        UR	                  5       UR	                  5       :H  5        g )Nr   _pywtsym8)pywt._extensionsrT   r>   eval__repr__r   rT   rC   repr_wavelets      r   test_wavelet_reprr[   h   sE    &mmF#G((*+LG,"7"7"99:r   c                     [        [        R                  " SS5      S:H  5        [        [        R                  " SS5      S:H  5        [        [        R                  " SS5      S:H  5        [        [        R                  " SS5      S:H  5        [        [        R                  " S[        R                  " S5      5      S:H  5        [        [        R                  " SS	5      S:H  5        [        [        R                  " SS
5      S:H  5        [        [        R                  " S[        R
                  " S5      5      S:H  5        [        [        R                  " SS5      S:H  5        [        [        [        R                  SS5        [        [        [        R                  SS5        [        [        [        R                  SS5        [        [        [        R                  SS5        g )Nr   r7   rH   rO   r   	   
   r   g      $@       sym5mexhgffffff
@)r   r   r?   r   int8r>   r   r2   r4   r   r   test_dwt_max_levelre   q   sS   Dr1%*+Dr1%*+Dr1%*+Dr2&!+,Dr2772;/145Dr3'1,-Dr2&!+, Dr4<<#78A=>Dr6*a/0 *d00"f= *d00"a8*d00"b9*d00"c:r   c                  B    [        [        [        R                  S5        g )Nqwertz)r   r2   r   ContinuousWaveletr4   r   r   test_ContinuousWavelet_errsri      s    *d44h?r   c                      SSK Jn   U R                  S5      n[        UR	                  5       5      n[        UR	                  5       UR	                  5       :H  5        g )Nr   rS   gaus2)rV   rT   rh   rW   rX   r   rY   s      r   test_ContinuousWavelet_reprrl      sG    &%%g.G((*+LG,"7"7"99:r   c            	         [         R                  " SS9 H  n [        U R                  S5      5        M     [        S[         R                  " SS9;   5        [        S[         R                  " SS9;   5        [        [	        [         R                  " SS95      [	        [         R                  " SS95      -   [	        [         R                  " SS95      :H  5        [        [        [         R                  S	S9  g )
Ncoif)familycgau7
continuous)kindsym20discreteallfoobar)r   r;   r   
startswithlenr   r2   )names    r   test_wavelistrz      s    V,'( - Gt}},778Gt}}*556C<01:./05)*+ , *dmm(;r   c                  @    [         R                  " S5         [         R                  " S5        g ! [         a1  n [        U R                  S   R                  S5      5         S n A NNS n A ff = f! [         a%  n [        U R                  S   S:H  5         S n A g S n A ff = f)Ngaus1r   zThe `Wavelet` classcmordzInvalid wavelet name 'cmord'.)r   r>   r2   r   argsrw   )es    r   test_wavelet_errormsgsr      s    =W>W  =q	$$%:;<<=  >q	<<==>s+   0 A. 
A+'A&&A+.
B8BB)numpyr   numpy.testingr   r   r   r   r   r(   r/   r5   rF   rI   rK   rM   rQ   r[   re   ri   rl   rz   r   r4   r   r   <module>r      sb     A A 
G
2(
D
B;;,@;
<>r   