
    !Цi                     j    S r SSKrSSKrSSKJr  SSKr\R                  R                  S 5       r	S r
g)z$
Verify DWT perfect reconstruction.
    N)assert_c            	         Sn [        U  Vs/ s H  n[        R                  " U5      PM     sn/ 5      n/ SQn[        R                  [        R
                  4nU H#  nU H  u  pgU H  n[        XgXX5        M     M     M%     g s  snf )N)dbsymcoifbiorrbio))zerozpd)constantsp0)	symmetricr   )periodicppd)smoothsp1)periodizationper)sumpywtwavelistnpfloat32float64check_reconstruction)	familiesnamewaveletsmodesdtypeswaveletpmodemmodedts	            e/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/pywt/tests/test_perfect_reconstruction.pytest_perfect_reconstructionr&      su    4HH=HDDMM$'H=rBH'E jj"**%F!LE$U7?  "  >s    Bc                 \   [        [        SS5      5      / SQ-   n[        R                  R	                  S5        U[        R
                  :X  a  SnOSnU H  n[        R                  " [        R                  R                  U5      U5      n[        R                  " XrU 5      u  p[        R                  " XX 5      n
[        U5      S-  (       a  U
S [        U5       n
[        R                  " [        R                  " Xz-
  S-  5      5      nSX[        U5      U4-  n[        X:  US9  M     g )	N   (   )d      i  i  i  i'  iP  i i90  gv!>g|=zC[RMS_REC > EPSILON] for Mode: %s, Wavelet: %s, Length: %d, rms=%.3g)msg)listranger   randomseedr   asarrayr   dwtidwtlensqrtmeanr   )r"   r#   r!   dtype	data_sizeepsilonNdatapapdrecrms_recr,   s                r%   r   r   #   s    U1b\" &5 5IIINN5 

zz"))**1-u5 $/ ii/t9q=js4y/C''"''48a-01&).TG(LM!s+     )__doc__numpyr   pytestnumpy.testingr   r   markslowr&   r    r@   r%   <module>rH      s=   
   !  @ @&,r@   