+
    [°³j¤˜  ã                   óB  € ^ RI t ^ RIHt ^ RIt^ RIt^ RIHtHtH	t	H
t
HtHtHt ^ RIt]P                  ]P                   ]P"                  ]P$                  ]P&                  ]P(                  .t]P$                  ]P"                  ]P"                  ]P$                  ]P&                  ]P(                  .tRtRt]P                   ]3]P"                  ]3]P$                  ]3]P                  ]3]P&                  ]3]P(                  ]3.t ]]P4                  .,          t]]P(                  .,          t]]P4                  ]3.,          t]P8                  ! 4       tR]9   d   ]P;                  R4       . t] Fr  t] P@                  ! 4       ;_uu_ 4        ] PB                  ! R]"4       ]#! ]PH                  ! ]4      ]PJ                  4      '       g   ]PM                  ]4       RRR4       Kt  	  ] F  t']P;                  ]'4       K  	  R t(R	 t)R
 t*R t+R t,R t-R t.R t/R t0R t1R t2]Pf                  Ph                  R 4       t5R t6R t7R t8R t9R t:R t;R t<R t=R t>R t?R t@R tAR  tBR! tCR" tDR# tER$ tFR% tG]Pf                  Ph                  R& 4       tHR' tIR( tJR) tKR* tLR+ tMR, tNR- tOR. tPR/ tQR0 tRR1 tSR2 tTR3 tUR4 tVR5 tWR6 tXR7 tYR8 tZR9 t[R: t\R; t]R< t^R= t_R> t`R? taR@ tbRA tcRB tdRC teRD tfRE tgRF thRG tiRH tjRI tkRJ tlR#   ] d     ELÄi ; i  + '       g   i     EK­  ; i)Ké    N)Úcombinations)Úassert_Úassert_allcloseÚassert_almost_equalÚassert_array_equalÚassert_equalÚassert_raisesÚassert_raises_regexç�íµ ÷Æ°>g‚vIhÂ%<=ÚdmeyÚignorec                  ó0  € . ROp \         P                  ! R4      p\         P                  ! W4      w  r#rE\        VR.4       \        VR.4       \	        VRR.4       \	        V. RO4       \        \         P                  ! \        V 4      V4      ^8H  4       R# )	é   Údb1gaåé¿{­!@g      @N©r   é   é   r   éþÿÿÿé   é   é   gß'Üež Ö¿g      À)gß'Üež Àr   gZoÌ™ŠÌÀgß'Üež ö¿)ÚpywtÚWaveletÚwavedecr   r   r   Údwt_max_levelÚlen)Úxr   ÚcA3ÚcD3ÚcD2ÚcD1s         Ú[/home/luca/screen-checking/.venv/lib/python3.14/site-packages/pywt/tests/test_multilevel.pyÚtest_wavedecr#   D   sw   € Ú!€AÜ
�,Š,�uÓ
€CÜŸš aÓ-Ñ€CˆcÜ˜˜j˜\Ô*Ü˜˜k˜]Ô+Ü�C˜"˜d˜Ô$Ü�CÒCÔDÜŒD×Òœs 1›v sÓ+¨qÑ0Ö1ó    c                  óÔ   € \         P                  P                  R 4      P                  \         P                  4      p V P                  RR7       \        P                  ! V R^R7       R# )iè  F)ÚwriteÚdb4©ÚlevelN)ÚnpÚrandomÚrandnÚastypeÚfloat64Úsetflagsr   r   ©Údatas    r"   Útest_wavedec_readonly_arrayr2   O   sA   € Ü�9‰9�?‰?˜4Ó ×'Ñ'¬¯
©
Ó3€DØ‡M�M˜€MÔÜ‡L‚L��u A×&r$   c                  ó†  € \        \        \        P                  \        P
                  ! ^4      R4       \        \        \        P                  . R4       . ROp \        P                  ! V R4      p\        P                  ! V4      w  r#\        P                  ! W#4      pRp\        \        V\        P                  VR4       R# )é   Úhaarr   ú"Unexpected detail coefficient typeNr   )
r	   Ú
ValueErrorr   Úwaverecr*   Úonesr   Úcoeffs_to_arrayÚarray_to_coeffsr
   )r   ÚcoeffsÚarrÚcoeff_slicesÚcoeffs_from_arrÚmessages         r"   Útest_waverec_invalid_inputsrA   U   s†   € ä”*œdŸl™l¬B¯GªG°A«J¸Ô?ô ”*œdŸl™l¨B°Ô7ò 	"€AÜ�\Š\˜!˜UÓ#€FÜ×,Ò,¨VÓ4Ñ€CÜ×*Ò*¨3Ó=€OØ2€GÜœ
 G¬T¯\©\¸?Øö r$   c                  óÖ  € \         P                  P                  R 4      p V P                  ^4      p\         F®  w  r#VP                  V4      p\         P                  ! V4      '       dC   VRV P                  ^4      P                  VP                  P                  4      ,          ,          p\        P                  ! VR4      p\        \        P                  ! VR4      WCVR7       K°  	  R# ©éÒ  ù              ð?r   ©ÚatolÚrtolN)r*   r+   ÚRandomStater,   Údtypes_and_tolerancesr-   ÚiscomplexobjÚrealÚdtyper   r   r   r8   ©ÚrstateÚx0ÚdtÚtolr   r<   s         r"   Útest_waverec_accuraciesrS   f   sœ   € Ü�Y‰Y×"Ñ" 4Ó(€FØ	�‰�a‹€Bß(‰ˆØ�I‰I�b‹MˆÜ�?Š?˜1×ÒØ��F—L‘L “O×*Ñ*¨1¯6©6¯<©<Ó8Õ8Õ8ˆAÜ—’˜a Ó'ˆÜœŸš V¨UÓ3°QÀs×Kó )r$   c                  ó¸   € . ROp \         P                  ! V R4      pRV^&   RV^ &   \        \         P                  ! VR4      P                  \        V 4      4       R# )r   r   Nr   )r   r   r   r8   Úsizer   ©r   r<   s     r"   Útest_waverec_nonerW   q   sJ   € Ú!€AÜ�\Š\˜!˜UÓ#€Fð €Fˆ1�IØ€Fˆ1�IÜŒD�LŠL˜ Ó'×,Ñ,¬c°!«fÖ5r$   c                  ó‚   € . ROp \         P                  ! V R4      p\        \         P                  ! VR4      V RR7       R# )r   r   çê-�™—q=©rH   N)r   r   r   r   r   r   )r   r   r   r8   rV   s     r"   Útest_waverec_odd_lengthr[   {   s.   € Ú€AÜ�\Š\˜!˜UÓ#€FÜ”D—L’L ¨Ó/°¸×?r$   c                  ó¼   € \         P                  ! . RO4      p V R,           p \        P                  ! V R4      p\	        \        P
                  ! VR4      V RR7       R# )r   rE   r   rY   rZ   Nr   )r*   Úarrayr   r   r   r8   rV   s     r"   Útest_waverec_complexr^   �   sA   € Ü
�ŠÒ*Ó+€AØ	ˆB�€AÜ�\Š\˜!˜UÓ#€FÜ”D—L’L ¨Ó/°¸×?r$   c                  ó–  € \         P                  ! R 4      p \        \        \        4       Fš  w  r\
        P                  ! ^VR7      pRV R2p\         P                  ! W0^R7      pV F#  p\        VP                  V8H  RV,           4       K%  	  \         P                  ! WP4      p\        VP                  V8H  RV,           4       Kœ  	  R# )r5   ©rM   úwrong dtype returned for ú inputr(   z	wavedec: z	waverec: N)r   r   ÚzipÚ	dtypes_inÚ
dtypes_outr*   r9   r   r   rM   r8   )ÚwaveletÚdt_inÚdt_outr   Úerrmsgr<   ÚcÚx_roundtrips           r"   Útest_multilevel_dtypes_1drl   ˆ   s›   € ä�lŠl˜6Ó"€GÜœY¬
Ö3‰ˆä�GŠG�A˜UÔ#ˆØ,¨U¨G°6Ð:ˆä—’˜a°Ô2ˆÛˆAÜ�A—G‘G˜vÑ% {°VÕ';Ö<ñ ä—l’l 6Ó3ˆÜ�×!Ñ! VÑ+¨[¸6Õ-AÖBó 4r$   c            
      óL  € \         P                  P                  R 4      p V P                  ^P4      p\         Fi  p\
        P                  P                   FH  p\
        P                  ! WVR7      p\        \
        P                  ! WBVR7      V\        \        R7       KJ  	  Kk  	  R# ©rD   ©Úmode©rH   rG   N)r*   r+   rI   r,   Úwavelistr   ÚModesÚmodesr   r   r8   Ú
tol_single©rO   Úrrf   rp   r<   s        r"   Útest_waverec_all_wavelets_modesrx   —   so   € ä�Y‰Y×"Ñ" 4Ó(€FØ�‰�RÓ€AßˆÜ—J‘J×$Ô$ˆDÜ—\’\ !°4Ô8ˆFÜœDŸLšL¨¸tÔDØ¤J´Z÷Aó %ó r$   c                  ó  € \         P                  P                  R 4      p V P                  ^^4      p\         FÆ  w  r#VP                  V4      p\         P                  ! V4      '       dD   VRV P                  ^^4      P                  VP                  P                  4      ,          ,          p\        P                  ! VR4      p\        \        V4      ^8H  4       \        \        P                  ! VR4      WCVR7       KÈ  	  R# rC   )r*   r+   rI   r,   rJ   r-   rK   rL   rM   r   Úwavedec2r   r   r   Úwaverec2rN   s         r"   Útest_waverec2_accuraciesr|   ¦   s³   € Ü�Y‰Y×"Ñ" 4Ó(€FØ	�‰�a˜Ó	€Bß(‰ˆØ�I‰I�b‹MˆÜ�?Š?˜1×ÒØ��F—L‘L  AÓ&×-Ñ-¨a¯f©f¯l©lÓ;Õ;Õ;ˆAÜ—’˜q %Ó(ˆÜ”�F“˜qÑ Ô!ÜœŸš f¨eÓ4°aÈ×Ló )r$   c                  ó4  € \         P                  ! R 4      p \        \        \        4       Fé  w  r\
        P                  ! RVR7      pRV R2p\         P                  ! W0^R7      w  rVp\        VP                  V8H  RV,           4       V F#  p\        VP                  V8H  RV,           4       K%  	  V F#  p\        VP                  V8H  RV,           4       K%  	  \         P                  ! WVV.V 4      p	\        V	P                  V8H  RV,           4       Kë  	  R# )	r5   r`   ra   rb   r(   z
wavedec2: z
waverec2: N©r4   r4   )r   r   rc   rd   re   r*   r9   rz   r   rM   r{   )
rf   rg   rh   r   ri   ÚcAÚcoeffsD2ÚcoeffsD1rj   rk   s
             r"   Útest_multilevel_dtypes_2dr‚   ²   sá   € Ü�lŠl˜6Ó"€GÜœY¬
Ö3‰ˆä�GŠG�F %Ô(ˆØ,¨U¨G°6Ð:ˆÜ!%§¢¨qÀÔ!CÑˆ�hÜ�—‘˜FÑ" L°6Õ$9Ô:ÛˆAÜ�A—G‘G˜vÑ% |°fÕ'<Ö=ñ ãˆAÜ�A—G‘G˜vÑ% |°fÕ'<Ö=ñ ä—m’m R°8Ð$<¸gÓFˆÜ�×!Ñ! VÑ+¨\¸FÕ-BÖCó 4r$   c            
      óN  € \         P                  P                  R 4      p V P                  ^P^`4      p\         Fi  p\
        P                  P                   FH  p\
        P                  ! WVR7      p\        \
        P                  ! WBVR7      V\        \        R7       KJ  	  Kk  	  R# rn   )r*   r+   rI   r,   rr   r   rs   rt   rz   r   r{   ru   rv   s        r"   Ú test_waverec2_all_wavelets_modesr„   Â   ós   € ô �Y‰Y×"Ñ" 4Ó(€FØ�‰�R˜Ó€AßˆÜ—J‘J×$Ô$ˆDÜ—]’] 1°DÔ9ˆFÜœDŸMšM¨&ÀÔEØ¤J´Z÷Aó %ó r$   c                  óâ   € \         P                  ! R4      R,           p \        P                  ! V R4      p\	        \        V4      ^8H  4       \        \        P                  ! VR4      V RR7       R# )r   rE   r   rY   rZ   N©r   r   )r*   r9   r   rz   r   r   r   r{   ©r1   r<   s     r"   Útest_wavedec2_complexr‰   Î   sL   € Ü�7Š7�6‹?˜RÕ€DÜ�]Š]˜4 Ó'€FÜŒC�‹K˜1ÑÔÜ”D—M’M &¨%Ó0°$¸U×Cr$   c                  ór   € \         P                  ! ^4      p \        \        \        P
                  V R4       R# )r   r5   N)r*   r9   r	   r7   r   rz   r0   s    r"   Útest_wavedec2_invalid_inputsr‹   Õ   s!   € ä�7Š7�1‹:€DÜ”*œdŸm™m¨T°6Ö:r$   c                  ó|  € \        \        \        P                  \        P
                  ! R4      R4       \        \        \        P                  . R4       \        P                  \        P                  3 FC  p V ! \        P
                  ! R4      R4      pRp\        \        V\        P                  VR4       KE  	  R# ©r4   r5   r6   Nr~   )	r	   r7   r   r{   r*   r9   r   Úwavedecnr
   ©Údec_funcr<   r@   s      r"   Útest_waverec2_invalid_inputsr‘   Û   sy   € ä”*œdŸm™m¬R¯WªW°V«_¸fÔEô ”*œdŸm™m¨R°Ô8ô —\‘\¤4§=¡=Ó1ˆÙœ"Ÿ'š' &›/¨6Ó2ˆØ6ˆÜœJ¨´·±ÀØ"ö	$ó 2r$   c                  ó   € \         P                  ! R4      p \        P                  ! V R4      p\	        V4      p\	        V^,          4      V^&   \         P
                  ! R4      V^,          ^&   \        \        \        P                  VR4       R# )r4   r   Nr~   )é   r   )	r*   r9   r   rz   ÚlistÚzerosr	   r7   r{   rV   s     r"   Ú"test_waverec2_coeff_shape_mismatchr–   ê   sc   € Ü
�Š�‹€AÜ�]Š]˜1˜eÓ$€Fô �&‹\€FÜ�V˜A•Y“€Fˆ1�IÜ—8’8˜GÓ$€Fˆ1…Iˆa�LÜ”*œdŸm™m¨V°UÖ;r$   c                  ó¦   € \         P                  ! R4      p \        P                  ! V R4      p\	        \        P
                  ! VR4      V RR7       R# )é
   r   rY   rZ   N)r˜   r   )r*   r9   r   rz   r   r{   rV   s     r"   Útest_waverec2_odd_lengthr™   õ   s7   € Ü
�Š�Ó€AÜ�]Š]˜1˜eÓ$€FÜ”D—M’M &¨%Ó0°!¸%×@r$   c                  óø   € \         P                  ! ^4      P                  ^^4      p \        P                  ! V R4      pRV^&   \        V P                  \        P                  ! VR4      P                  8H  4       R# )é   r   N©NNN)r*   ÚarangeÚreshaper   rz   r   Úshaper{   rV   s     r"   Útest_waverec2_none_coeffsr    û   sW   € Ü
�	Š	�"‹×Ñ˜a Ó#€AÜ�]Š]˜1˜eÓ$€FØ"€Fˆ1�IÜˆA�G‰G”t—}’} V¨UÓ3×9Ñ9Ñ9Ö:r$   c                  óB  € \         P                  P                  R 4      p \        ^^4       Fo  pV P                  ! RV,          !  p\
        P                  ! VR4      p\        \        V4      ^8H  4       \        \
        P                  ! VR4      V\        R7       Kq  	  R# )rD   r   rZ   N)r   )r*   r+   rI   Úranger,   r   rŽ   r   r   r   ÚwaverecnÚ
tol_double)rO   Úndr   r<   s       r"   Útest_waverecnr¦     sp   € Ü�Y‰Y×"Ñ" 4Ó(€Fä�A�qŽkˆØ�LŠL˜% �(Ñ#ˆÜ—’˜q %Ó(ˆÜ”�F“˜qÑ Ô!ÜœŸš f¨eÓ4°a¼j×Ió	 r$   c                  óø  € \         P                  ! R4      / / .p \        \        P                  ! V R4      P
                  R4       \        \        P                  ! V R4      P
                  R4       \         P                  ! R4      / R\         P                  ! R4      /.p \         P                  ! R4      / / R\         P                  ! R4      /.p \        \        P                  ! V R4      P
                  R4       R# )é   r   ÚdaaN©r¨   r¨   r¨   ©r4   r4   r4   ©r   r   r   )r“   r“   r“   )r*   r9   r   r   r£   rŸ   ©r<   s    r"   Útest_waverecn_empty_coeffr®     s°   € Ü�gŠg�iÓ  " bÐ)€FÜ”—’˜v uÓ-×3Ñ3°YÔ?ä”—’˜v uÓ-×3Ñ3°YÔ?Ü�gŠg�iÓ  " u¬b¯gªg°iÓ.@Ð&AÐB€Fä�gŠg�iÓ  " b¨5´"·'²'¸)Ó2DÐ*EÐF€FÜ”—’˜v uÓ-×3Ñ3°\ÖBr$   c                  ó   € R / .p \        \        \        P                  V R4       \        P
                  ! R
4      / RR /.p \        \        \        P                  V R4       \        P
                  ! R4      R\        P
                  ! R4      R\        P
                  ! R4      /.p \        \        \        P                  V R4       \        P
                  ! R4      R\        P
                  ! R4      R\        P
                  ! R4      /.p \        \        \        P                  V R4       R...RR...RR...RR.../.p \        \        \        P                  V R4       \        \        \        P                  . R	4       R # )Nr   r©   ÚfooÚdaç      ð?Úadç        Úddr5   rª   r¬   )r	   r7   r   r£   r*   r9   r­   s    r"   Útest_waverecn_invalid_coeffsr¶     s/  € à�BˆZ€FÜ”*œdŸm™m¨V°UÔ;ô �gŠg�iÓ  " u¨d mÐ6€FÜ”*œdŸm™m¨V°UÔ;ô �gŠg�iÓ  5¬"¯'ª'°)Ó*<Ø#(¬"¯'ª'°)Ó*<ð#>ð ?€Fä”*œdŸm™m¨V°UÔ;ô �gŠg�iÓ  5¬"¯'ª'°)Ó*<Ø#'¬¯ª°Ó);ð#=ð >€Fä”*œdŸm™m¨V°UÔ;ð �ˆwˆi˜$ 3 %  	¨4°C°5°'°¸DÀSÀEÀ7À)ÐLÐM€FÜ”*œdŸm™m¨V°UÔ;ô ”*œdŸm™m¨R°Ö8r$   c                  óÔ   € \         P                  \         P                  3 FC  p V ! \        P                  ! R4      R4      pRp\        \        V\         P                  VR4       KE  	  R# r�   )r   r   rz   r*   r9   r
   r7   r£   r�   s      r"   Útest_waverecn_invalid_inputsr¸   6  sK   € ô —\‘\¤4§=¡=Ó1ˆÙœ"Ÿ'š' &›/¨6Ó2ˆØ6ˆÜœJ¨´·±ÀØ"ö	$ó 2r$   c                  ó€   € R ..RR..RR..RR../.p \        \        P                  ! V R4      P                  R4       R# )r²   r³   r´   r±   rµ   r   N)r¨   r¨   )r   r   r£   rŸ   r­   s    r"   Útest_waverecn_listsrº   @  sD   € àˆuˆg˜ ˜u˜g t¨s¨e¨W°d¸c¸U¸GÐDÐE€FÜ”—’˜v uÓ-×3Ñ3°VÖ<r$   c                  ó¢   € \         P                  ! R4      R\         P                  ! R4      /.p \        \        \        P
                  V R4       R# )r   Úadar   Nr¬   r‡   )r*   r9   r	   r7   r   r£   r­   s    r"   Útest_waverecn_invalid_coeffs2r½   F  s4   € ä�gŠg�iÓ  5¬"¯'ª'°&«/Ð":Ð;€FÜ”*œdŸm™m¨V°UÖ;r$   c                  óâ   € \         P                  ! ^ 4      p \        \        \        P
                  V R4       \         P                  ! ^4      p \        \        \        P
                  V RRR7       R# )r   r5   r(   Néÿÿÿÿ)r*   r]   r	   r7   r   rŽ   r9   r0   s    r"   Útest_wavedecn_invalid_inputsrÀ   L  sD   € ä�8Š8�A‹;€DÜ”*œdŸm™m¨T°6Ô:ô �7Š7�2‹;€DÜ”*œdŸm™m¨T°6À×Dr$   c                  ó>  € \         P                  ! ^@4      P                  ^^4      p Rp\        P                  \        P
                  \        P                  .p\        P                  \        P                  \        P                  .p\        P                  ! 4       ;_uu_ 4        \        P                  ! R\        4       \        W#4       F2  w  rER F'  pV! V RV^R7      pV! VRVR7      p\        WWR7       K)  	  K4  	  RRR4       R#   + '       g   i     R# ; i)	é@   rY   r   r5   ©rp   r)   ro   rF   N)ÚperiodizationÚ	symmetric)r*   r�   rž   r   r   rz   rŽ   r8   r{   r£   ÚwarningsÚcatch_warningsÚsimplefilterÚUserWarningrc   r   )	r1   rR   Ú	dec_funcsÚ	rec_funcsr�   Úrec_funcrp   r<   rw   s	            r"   Útest_wavedecn_many_levelsrÍ   V  sÃ   € ä�9Š9�R‹=× Ñ   AÓ&€DØ
€CÜ—‘œtŸ}™}¬d¯m©mÐ<€IÜ—‘œtŸ}™}¬d¯m©mÐ<€IÜ	×	 Ò	 ×	"Õ	"Ü×Ò˜h¬Ô4Ü"% iÖ";ÑˆHÛ6�Ù% d¨F¸ÀRÔH�FÙ  ¨°dÔ;�AÜ# D°#×@ó 7ñ #<÷ 
#×	"×	"Ò	"ús   Â$ADÄD	c                  óü  € \         P                  P                  R 4      p V P                  ^^^4      p\         F¿  w  r#VP                  V4      p\         P                  ! V4      '       dE   VRV P                  ^^^4      P                  VP                  P                  4      ,          ,          p\        P                  ! VP                  V4      R4      p\        \        P                  ! VR4      WCVR7       KÁ  	  R# rC   )r*   r+   rI   r,   rJ   r-   rK   rL   rM   r   rŽ   r   r£   rN   s         r"   Útest_waverecn_accuraciesrÏ   e  s®   € ä�Y‰Y×"Ñ" 4Ó(€FØ	�‰�a˜˜AÓ	€Bß(‰ˆØ�I‰I�b‹MˆÜ�?Š?˜1×ÒØ��F—L‘L  A qÓ)×0Ñ0°·±·±Ó>Õ>Õ>ˆAÜ—’˜qŸx™x¨›|¨UÓ3ˆÜœŸš f¨eÓ4°aÈ×Ló )r$   c                  óx  € \         P                  ! R 4      p \        \        \        4       EF
  w  r\
        P                  ! RVR7      pRV R2p\         P                  ! W0^R7      w  rVp\        VP                  V8H  RV,           4       VP                  4        F%  w  r‰\        V	P                  V8H  RV,           4       K'  	  VP                  4        F%  w  r‰\        V	P                  V8H  RV,           4       K'  	  \         P                  ! WVV.V 4      p
\        V
P                  V8H  RV,           4       EK  	  R# )	r5   r`   ra   rb   r(   z
wavedecn: z
waverecn: Nr~   )r   r   rc   rd   re   r*   r9   rŽ   r   rM   Úitemsr£   )rf   rg   rh   r   ri   r   r€   r�   Úkeyrj   rk   s              r"   Útest_multilevel_dtypes_ndrÓ   q  só   € Ü�lŠl˜6Ó"€GÜœY¬
×3‰ˆä�GŠG�F %Ô(ˆØ,¨U¨G°6Ð:ˆÜ!%§¢¨qÀÔ!CÑˆ�hÜ�—‘˜FÑ" L°6Õ$9Ô:Ø—n‘nÖ&‰FˆCÜ�A—G‘G˜vÑ% |°fÕ'<Ö=ñ 'à—n‘nÖ&‰FˆCÜ�A—G‘G˜vÑ% |°fÕ'<Ö=ñ 'ä—m’m R°8Ð$<¸gÓFˆÜ�×!Ñ! VÑ+¨\¸FÕ-B×Có 4r$   c                  ó´   € \         P                  ! R4      R,           p \        P                  ! V R4      p\	        \        P
                  ! VR4      V RR7       R# )r   rE   r   rY   rZ   Nr¬   )r*   r9   r   rŽ   r   r£   rˆ   s     r"   Útest_wavedecn_complexrÕ   �  s<   € Ü�7Š7�9Ó Õ"€DÜ�]Š]˜4 Ó'€FÜ”D—M’M &¨%Ó0°$¸U×Cr$   c                  óâ   € \         P                  ! R4      p \         FN  w  r\        P                  ! V P                  V4      R4      p\        \        P                  ! VR4      WVR7       KP  	  R# )r   r   rF   Nr¬   )r*   r9   rJ   r   rŽ   r-   r   r£   )r   rQ   rR   r<   s       r"   Útest_waverecn_dtypesr×   ‡  sK   € Ü
�Š�	Ó€Aß(‰ˆÜ—’˜qŸx™x¨›|¨UÓ3ˆÜœŸš f¨eÓ4°aÈ×Ló )r$   c            
      óN  € \         P                  P                  R 4      p V P                  ^P^`4      p\         Fi  p\
        P                  P                   FH  p\
        P                  ! WVR7      p\        \
        P                  ! WBVR7      V\        \        R7       KJ  	  Kk  	  R# rn   )r*   r+   rI   r,   rr   r   rs   rt   rŽ   r   r£   ru   rv   s        r"   Ú test_waverecn_all_wavelets_modesrÙ   Ž  r…   r$   c                  ód  € \         P                  ! ^4      P                  ^^4      .p \        P                  ! V 4      w  r\        W^ ,          4       \        WV^ ,          ,          4       \        \        \        P                  . 4       \        \        \        P                  V ^ ,          .^,          4       \        \        \        P                  V ^ ,          V ^ ,          3.4       \        \        \        P                  R.4       \        \        \        P                  V R.4       \        \        \        P                  V R.4       \         P                  ! ^ .4      R\         P                  ! ^ .4      R\         P                  ! ^ .4      /.p\        \        \        P                  V4       R# )r4   NÚdrj   rœ   )	r*   r�   rž   r   r:   r   r	   r7   r]   )Úa_coeffsr=   Ú
arr_slicesr<   s       r"   Útest_coeffs_to_arrayrÞ   š  s7  € ä—	’	˜!“×$Ñ$ Q¨Ó*Ð-€HÜ×*Ò*¨8Ó4�O€CÜ�C !�Ô%Ü�C˜Z¨�]Õ+Ô,ä”*œd×2Ñ2°BÔ7ä”*œd×2Ñ2°X¸aµ[°OÀaÕ4GÔHä”*œd×2Ñ2°X¸aµ[Ø6>¸qµk°_ð5Fô Gô ”*œd×2Ñ2°T°HÔ=Ü”*œd×2Ñ2°XØ5Gð5Iô Jô ”*œd×2Ñ2°X¸tÐ4DÔEô �hŠh˜�s‹m˜c¤2§8¢8¨Q¨C£=°#´r·x²xÀÀ³}ÐEÐF€FÜ”*œd×2Ñ2°FÖ;r$   c                  ót  € \         P                  P                  R 4      p RR^R\        P                  R\        P
                  /RR^R\        P                  R\        P                  /RR^R\        P                  R\        P                  //p^pV EF!  pV P                  ! V.W,          R,          ,          !  p\        P                  P                   FÚ  p\         FÍ  p\        P                  ! V4      p\        P                  ! \         P                   ! VP"                  4      VP$                  4      pV^ 8X  d   Ka  W,          R,          ! WGVR7      p	\        P&                  ! V	4      w  r«\        P(                  ! W«VR7      pW,          R,          ! WÇVR7      p\+        WMR	R	R
7       KÏ  	  KÜ  	  EK$  	  R# ©rD   r   rÛ   ÚdecÚrecrz   rŽ   ro   ©Úoutput_formatç-Cëâ6?rq   N)r*   r+   rI   r   r   r8   rz   r{   rŽ   r£   r,   rs   rt   rr   r   r   ÚminrŸ   Údec_lenr:   r;   r   )ÚrngÚparamsÚNÚfÚx1rp   ÚwaveÚwÚmaxlevelr<   Ú	coeff_arrr>   Úcoeffs2Úx1rs                 r"   Ú test_wavedecn_coeff_reshape_evenró   ´  sN  € ô �)‰)×
Ñ
 Ó
%€CØ˜#˜q %¬¯©°u¼d¿l¹lÐKØ˜3  5¬$¯-©-¸ÄÇÁÐNØ˜3  5¬$¯-©-¸ÄÇÁÐNðP€Fð 	€AÜˆØ�YŠY˜!˜˜v�y¨�~Õ-Ñ/ˆÜ—J‘J×$Ô$ˆDß �Ü—L’L Ó&�Ü×-Ò-¬b¯fªf°R·X±XÓ.>ÀÇ	Á	ÓJ�Ø˜q”=Ùà� 5Ö)¨"°dÔ;�Ü*.×*>Ò*>¸vÓ*FÑ'�	Ü×.Ò.¨yØ=>ô@�à•i Ö& w¸Ô=�ä ¨d¸×>ó !ô %ó r$   c                  ób  € \         P                  P                  R 4      p Rp\        P                  ! R4      p^p^pR Fí  pV P
                  ! V.V,          !  p\        P                  ! WbWR7      p\        P                  ! WuR7      w  r‰Ve    \        \        \        P                  V4       \        \        \        P                  VR	R7       \        \        \        P                  VR
R7       \        P                  ! W‰4      p
\        P                  ! W¢WR7      p\        WkRRR7       Kï  	  R# )rD   rÅ   Údb2N©rp   Úaxes©r÷   rå   rq   ))r¿   ©r   )r   ©r   r   ©r   r¨   ©r   r¨   N©r   r   r¨   r   © )r*   r+   rI   r   r   r,   rŽ   r:   r	   r7   r;   r£   r   )rè   rp   rî   rê   Úndimr÷   rì   r<   rð   r>   rñ   rò   s               r"   Ú'test_wavedecn_coeff_reshape_axes_subsetr   Ï  sí   € ô �)‰)×
Ñ
 Ó
%€CØ€DÜ�Š�UÓ€AØ
€AØ€DÛDˆØ�YŠY˜!˜˜t�Ñ%ˆÜ—’˜r¨4Ô;ˆÜ"&×"6Ò"6°vÔ"IÑˆ	ØÒäœ*¤d×&:Ñ&:¸FÔCô 	”j¤$×"6Ñ"6¸Ø'õ	)ä”j¤$×"6Ñ"6¸Øõ	ô ×&Ò& yÓ?ˆÜ�mŠm˜G¨TÔ=ˆä˜ d°×6ó# Er$   c                  ó0  € \         P                  P                  R 4      p V P                  ^ ^ 4      pRp\        P
                  ! VRVR7      p\        \        \        P                  VRR7       \        P                  ! V\         P                  R7      w  rE\         P                  ! \         P                  ! V4      4      p\        V^ 8„  4       \        P                  ! V^ R7      w  rE\        \         P                  ! \         P                  ! V4      4      ^ 8H  4       \        \         P                  ! V^ 8H  4      V8H  4       \        P
                  ! VRVR7      p\        P                  ! VRR7      w  rE\        VP                  VP                  4       R# )rD   rÅ   rõ   ro   N)Úpaddingr5   )r*   r+   rI   r,   r   rŽ   r	   r7   r:   ÚnanÚsumÚisnanr   r   rŸ   )rè   rì   rp   r<   rð   r>   ÚnpadÚcoeffs_haars           r"   Útest_coeffs_to_array_paddingr  ì  s  € Ü
�)‰)×
Ñ
 Ó
%€CØ	�‰�2�rÓ	€BØ€DÜ�]Š]˜2˜u¨4Ô0€Fô ”*œd×2Ñ2°FÀDÕIô #×2Ò2°6Ä2Ç6Á6ÔJÑ€IÜ�6Š6”"—(’(˜9Ó%Ó&€DÜˆD�1‰HÔô #×2Ò2°6À1ÔEÑ€IÜŒB�FŠF”2—8’8˜IÓ&Ó'¨1Ñ,Ô-ÜŒB�FŠF�9 ‘>Ó" dÑ*Ô+ô —-’-  F°Ô6€KÜ"×2Ò2°;ÈÔMÑ€Iä�—‘ "§(¡(Ö+r$   c                  óÌ  € \         P                  P                  R 4      p V P                  ^#^!4      p\        P
                  P                   EF  pR EF  p\        P                  ! V4      p\        P                  ! \         P                  ! VP                  4      VP                  4      pV^ 8X  d   Kb  \        P                  ! WVR7      p\        P                  ! V4      w  rx\        P                  ! Wx4      p	\        P                  ! W”VR7      p
T
\!        VP                   Uu. uF  p\#        V4      NK  	  up4      ,          p
\%        WRRR7       EK  	  EK  	  R# u upi ©rD   ro   rå   rq   N)r5   )r*   r+   rI   r,   r   rs   rt   r   r   ræ   rŸ   rç   rŽ   r:   r;   r£   ÚtupleÚslicer   )rè   rì   rp   rí   rî   rï   r<   rð   r>   rñ   rò   Úss               r"   Útest_waverecn_coeff_reshape_oddr    sþ   € ô �)‰)×
Ñ
 Ó
%€CØ	�‰�2�rÓ	€BÜ—
‘
× Õ ˆÜˆDÜ—’˜TÓ"ˆAÜ×)Ò)¬"¯&ª&°·±Ó*:¸A¿I¹IÓFˆHØ˜1Œ}ÙÜ—]’] 2¨tÔ4ˆFÜ&*×&:Ò&:¸6Ó&BÑ#ˆIÜ×*Ò*¨9ÓCˆGÜ—-’- °Ô6ˆCà”e¨r¯xªxÓ8©x¨!œU 1žX©xÑ8Ó9Õ:ˆCÜ˜B¨$°T×:Ð:ô ó !ùò 9s   Ä&E!c                  ó  € \         P                  ! \        P                  ! ^4      R4      p \         P                  ! V 4      w  r\        \        \         P                  V. 4       \        \        \         P                  WR4       R# )r¨   r5   r°   N)r   rŽ   r*   r9   r:   r	   r7   r;   )r<   r=   rÝ   s      r"   Ú#test_array_to_coeffs_invalid_inputsr    sX   € Ü�]Š]œ2Ÿ7š7 1›: vÓ.€FÜ×*Ò*¨6Ó2�O€Cô ”*œd×2Ñ2°C¸Ô<ô ”*œd×2Ñ2°CÀUÖKr$   c                  óx  € \         P                  P                  R 4      p RR^R\        P                  R\        P
                  /RR^R\        P                  R\        P                  /RR^R\        P                  R\        P                  //p^pV EF#  pV P                  ! V.W,          R,          ,          !  p\        P                  P                   FÜ  p\         FÏ  p\        P                  ! V4      p\        P                  ! \         P                   ! VP"                  4      VP$                  4      pV^ 8X  d   Ka  W,          R,          ! WGVR7      p	\        P&                  ! V	4      w  r«p\        P(                  ! W«VVR7      pW,          R,          ! W×VR7      p\+        WNR	R	R
7       KÑ  	  KÞ  	  EK&  	  R# rà   )r*   r+   rI   r   r   r8   rz   r{   rŽ   r£   r,   rs   rt   rr   r   r   ræ   rŸ   rç   Úravel_coeffsÚunravel_coeffsr   )rè   ré   rê   rë   rì   rp   rí   rî   rï   r<   rð   ÚslicesÚshapesrñ   rò   s                  r"   Útest_wavedecn_coeff_ravelr  %  sQ  € ô �)‰)×
Ñ
 Ó
%€CØ˜#˜q %¬¯©°u¼d¿l¹lÐKØ˜3  5¬$¯-©-¸ÄÇÁÐNØ˜3  5¬$¯-©-¸ÄÇÁÐNðP€Fð 	€AÜˆØ�YŠY˜!˜˜v�y¨�~Õ-Ñ/ˆÜ—J‘J×$Ô$ˆDß �Ü—L’L Ó&�Ü×-Ò-¬b¯fªf°R·X±XÓ.>ÀÇ	Á	ÓJ�Ø˜q”=Ùà� 5Ö)¨"°dÔ;�Ü,0×,=Ò,=¸fÓ,EÑ)�	 6Ü×-Ò-¨iÀØ<=ô?�à•i Ö& w¸Ô=�ä ¨d¸×>ó !ô %ó r$   c                  óÌ  € \         P                  P                  R 4      p RR^R\        P                  R\        P
                  /RR^R\        P                  R\        P                  /RR^R\        P                  R\        P                  //p^pV FÎ  pV P                  ! V.W,          R,          ,          !  p\        P                  P                   Fˆ  p\        P                  ! R4      pW,          R,          ! WFV^ R7      p\        P                  ! V4      w  r‰p
\        P                  ! W‰V
VR	7      pW,          R,          ! W¶VR
7      p\!        WLRRR7       KŠ  	  KÐ  	  R# )rD   r   rÛ   rá   râ   rz   rŽ   rõ   rÃ   rã   ro   rå   rq   N)r*   r+   rI   r   r   r8   rz   r{   rŽ   r£   r,   rs   rt   r   r  r  r   )rè   ré   rê   rë   rì   rp   rî   r<   rð   r  r  rñ   rò   s                r"   Ú$test_wavedecn_coeff_ravel_zero_levelr  @  s  € ô �)‰)×
Ñ
 Ó
%€CØ˜#˜q %¬¯©°u¼d¿l¹lÐKØ˜3  5¬$¯-©-¸ÄÇÁÐNØ˜3  5¬$¯-©-¸ÄÇÁÐNðP€Fð 	€AÛˆØ�YŠY˜!˜˜v�y¨�~Õ-Ñ/ˆÜ—J‘J×$Ô$ˆDÜ—’˜UÓ#ˆAà•Y˜uÖ% b°$¸aÔ@ˆFÜ(,×(9Ò(9¸&Ó(AÑ%ˆI˜vÜ×)Ò)¨)¸VØ89ô;ˆGà•)˜EÖ" 7°DÔ9ˆCä˜B¨$°T×:ó %ó r$   c                  óÐ  € \         P                  P                  R 4      p V P                  ^#^!4      p\        P
                  P                   EF  pR EF  p\        P                  ! V4      p\        P                  ! \         P                  ! VP                  4      VP                  4      pV^ 8X  d   Kb  \        P                  ! WVR7      p\        P                  ! V4      w  rxp	\        P                  ! WxV	4      p
\        P                  ! W¤VR7      pT\!        VP                   Uu. uF  p\#        V4      NK  	  up4      ,          p\%        WRRR7       EK  	  EK  	  R# u upi r
  )r*   r+   rI   r,   r   rs   rt   r   r   ræ   rŸ   rç   rŽ   r  r  r£   r  r  r   )rè   rì   rp   rí   rî   rï   r<   rð   r  r  rñ   rò   r  s                r"   Útest_waverecn_coeff_ravel_oddr  W  s  € ô �)‰)×
Ñ
 Ó
%€CØ	�‰�2�rÓ	€BÜ—
‘
× Õ ˆÜˆDÜ—’˜TÓ"ˆAÜ×)Ò)¬"¯&ª&°·±Ó*:¸A¿I¹IÓFˆHØ˜1Œ}ÙÜ—]’] 2¨tÔ4ˆFÜ(,×(9Ò(9¸&Ó(AÑ%ˆI˜vÜ×)Ò)¨)¸VÓDˆGÜ—-’- °Ô6ˆCà”e¨r¯xªxÓ8©x¨!œU 1žX©xÑ8Ó9Õ:ˆCÜ˜B¨$°T×:Ð:ô ó !ùò 9s   Ä(E#c                  ó"  € \         P                  ! R4      p \        P                  ! R4      p\        P                  ! W4      pVR,           Uu. uF  p\        V4      NK  	  upVR&   \        P                  ! V4      w  rEp\        P                  ! WEVRR7      p\        P                  ! Wq4      p\        WRRR7       VR,           Uu. uF  p\        VRR	 4      NK  	  upVR&   \        \        \        P                  V4       R# u upi u upi )
r4   r5   ºr   NNrz   rã   rå   rq   Nr~   r¿   )r*   r9   r   r   rz   r”   r  r  r{   r   r	   r7   )	rì   Úwavr<   rj   rð   r  r  rñ   rò   s	            r"   Útest_ravel_wavedec2_with_listsr  k  s×   € Ü	�Š�‹€BÜ
�,Š,�vÓ
€CÜ�]Š]˜2Ó#€Fð $*¨"¦:Ó.¡:˜a”$�q–'¡:Ñ.€Fˆ2�JÜ $× 1Ò 1°&Ó 9Ñ€I�vÜ×!Ò! )°VØ0:ô<€Gä
�-Š-˜Ó
%€CÜ�B $¨TÕ2ð )/¨r®
Ó3©
 1”$�q˜˜"�v–,©
Ñ3€Fˆ2�JÜ”*œd×/Ñ/°Ö8ùò /ùò 4s   ÁDÃ	Dc                  ó‚  € \         P                  ! \        P                  ! ^4      R4      p RV ^&   \	        \
        \         P                  V 4       \         P                  ! \        P                  ! R4      R4      p RV ^&   \	        \
        \         P                  V 4       . ROV ^&   \	        \
        \         P                  V 4       RV ^&   \	        \
        \         P                  V 4       \         P                  ! \        P                  ! R4      R4      p RV ^,          R&   \	        \
        \         P                  V 4       R# )r4   r5   NÚdddr~   rœ   r«   )	r   r   r*   r9   r	   r7   r  rz   rŽ   r­   s    r"   Útest_ravel_invalid_inputr!  }  sÛ   € ä�\Š\œ"Ÿ'š' !›* fÓ-€FØ€Fˆ1�IÜ”*œd×/Ñ/°Ô8ô �]Š]œ2Ÿ7š7 6›?¨FÓ3€FØ"€Fˆ1�IÜ”*œd×/Ñ/°Ô8Ú"€Fˆ1�IÜ”*œd×/Ñ/°Ô8Ø€Fˆ1�IÜ”*œd×/Ñ/°Ô8ô �]Š]œ2Ÿ7š7 9Ó-¨vÓ6€FØ€Fˆ1…IˆeÑÜ”*œd×/Ñ/°Ö8r$   c                  ó˜  € \         P                  ! \        P                  ! ^4      R4      p \         P                  ! V 4      w  rp\        \        \         P                  W. 4       \        \        \         P                  V. V4       \        \        \         P                  WRR V4       \        \        \         P                  WVR4       R# )r¨   r5   Nr°   r¿   )r   rŽ   r*   r9   r  r	   r7   r  )r<   r=   r  r  s       r"   Útest_unravel_invalid_inputsr#  ’  s�   € Ü�]Š]œ2Ÿ7š7 1›: vÓ.€FÜ×+Ò+¨FÓ3Ñ€C�ô ”*œd×1Ñ1°3ÀÔCÜ”*œd×1Ñ1°3¸¸FÔCô ”*œd×1Ñ1°3¸sÀ¸ÀVÔLô ”*œd×1Ñ1°3ÀÈÖNr$   c            
      ó   € \         P                  ! R 4      p R EF`  pR EFU  p\         P                  P                   EF2  p\         P                  ! \
        P                  ! V4      V W2R7      p\         P                  ! WW2R7      p\        V^ ,          P                  V^ ,          4       V^ ,          P                  p\        ^\        V4      4       FW  pWG,          P                  4        F:  w  r‰WiP                  ,          p\        WW,          V,          V	P                  4       K<  	  KY  	  \         P                  ! V4      p
\        W¦4       \         P                  ! V4      p
\        W¦4       EK5  	  EKX  	  EKc  	  R# )rõ   Nrö   ©)é!   )rÂ   é    )r   é   é   ©Nr   r¿   )r   r   rs   rt   rŽ   r*   r9   Úwavedecn_shapesr   rŸ   rU   r¢   r   rÑ   Úwavedecn_size)r  Ú
data_shaper÷   rp   r<   r  Úexpected_sizer)   ÚkÚvrU   s              r"   Útest_wavedecn_shapes_and_sizer1  ¡  s  € Ü
�,Š,�uÓ
€CÜ5ˆ
Ü!ˆDÜŸ
™
×(Õ(�ÜŸš¤r§w¢w¨zÓ':¸CØ,0ô=�ô ×-Ò-¨jØ37ôD�ô ˜V A�YŸ_™_¨f°Q­iÔ8Ø & q¥	§¡�Ü" 1¤c¨&£kÖ2�EØ &¥× 3Ñ 3Ö 5™˜Ø%¯©Õ/˜Ü$ V¥]°1Õ%5°q·w±wÖ?ó !6ñ 3ô ×)Ò)¨&Ó1�Ü˜TÔ1ä×)Ò)¨&Ó1�Ü˜T×1ô) )ô "ó 6r$   c                  ój  € \         P                  ! R 4      R3 F–  p R F�  pR F„  p\         P                  P                   Fc  p\         P                  ! \
        P                  ! V4      V W2R7      p\         P                  ! WV4      p\        \        VR,          4      V4       Ke  	  K†  	  K�  	  K˜  	  R# )rõ   Úsym8Nrö   r  r%  r*  )
r   r   rs   rt   rŽ   r*   r9   Údwtn_max_levelr   r   )r  r-  r÷   rp   r<   Úmax_levs         r"   Útest_dwtn_max_levelr6  ¼  s…   € ä—’˜UÓ# VÓ,ˆÛ9ˆJÛ%�Ü ŸJ™J×,Ô,�DÜ!Ÿ]š]¬2¯7ª7°:Ó+>ÀØ04ôA�Fä"×1Ò1°*À4ÓH�GÜ ¤ V¨B¥Z£°'Ö:ó	 -ó &ó :ó -r$   c                  óö   € \         P                  P                  ^ 4      p V P                  R4      pR FB  p\        P
                  ! VRVR7      p\        P                  ! VRVR7      p\        WARR7       KD  	  R# )r   r5   ©Úaxisç›+¡†›„=©rG   Nr«   ©r   r   r¨   ©r*   r+   rI   Ústandard_normalr   r   r8   r   ©rO   r1   r9  Úcoefsrâ   s        r"   Útest_waverec_axes_subsetsrA  È  s^   € Ü�Y‰Y×"Ñ" 1Ó%€FØ×!Ñ! )Ó,€DãˆÜ—’˜T 6°Ô5ˆÜ�lŠl˜5 &¨tÔ4ˆÜ˜¨×.ó r$   c                  óö   € \         P                  P                  ^ 4      p V P                  R4      pR FB  p\        P
                  ! VRVR7      p\        P                  ! VRVR7      p\        WARR7       KD  	  R# )r   rõ   r8  r:  r;  N©r“   r“   rú   r=  r?  s        r"   Útest_waverec_axis_db2rD  Ò  s^   € ä�Y‰Y×"Ñ" 1Ó%€FØ×!Ñ! (Ó+€DÛˆÜ—’˜T 5¨tÔ4ˆÜ�lŠl˜5 %¨dÔ3ˆÜ˜¨×.ó r$   c                  ó
  € \         P                  P                  ^ 4      p V P                  R4      p\	        R^4       FB  p\
        P                  ! VRVR7      p\
        P                  ! VRVR7      p\        WARR7       KD  	  R# )r   r5   rø   r:  r;  Nr«   r<  )	r*   r+   rI   r>  r   r   rz   r{   r   ©rO   r1   r÷   r@  râ   s        r"   Útest_waverec2_axes_subsetsrG  Ü  se   € Ü�Y‰Y×"Ñ" 1Ó%€FØ×!Ñ! )Ó,€Dä˜Y¨Ö*ˆÜ—’˜d F°Ô6ˆÜ�mŠm˜E 6°Ô5ˆÜ˜¨×.ó +r$   c                  ó
  € \         P                  P                  ^ 4      p V P                  R4      p\	        R^4       FB  p\
        P                  ! VRVR7      p\
        P                  ! VRVR7      p\        WARR7       KD  	  R# )r   r5   rø   r:  r;  N)r4   r4   r4   r4   rý   )	r*   r+   rI   r>  r   r   rŽ   r£   r   rF  s        r"   Útest_waverecn_axes_subsetsrI  æ  se   € Ü�Y‰Y×"Ñ" 1Ó%€FØ×!Ñ! ,Ó/€Dä˜\¨1Ö-ˆÜ—’˜d F°Ô6ˆÜ�mŠm˜E 6°Ô5ˆÜ˜¨×.ó .r$   c                  óö   € \         P                  P                  ^ 4      p V P                  R4      pR FB  p\        P
                  ! VRVR7      p\        P                  ! VRVR7      p\        WARR7       KD  	  R# )r   r5   rø   r:  r;  Nr~   rú   )r*   r+   rI   r>  r   rŽ   r£   r   r?  s        r"   Útest_waverecn_int_axisrK  ð  s^   € ä�Y‰Y×"Ñ" 1Ó%€FØ×!Ñ! &Ó)€DÛˆÜ—’˜d F°Ô6ˆÜ�mŠm˜E 6°Ô5ˆÜ˜¨×.ó r$   c                  óv   € \         P                  ! ^4      p \        \        \        P
                  V R^R7       R# ©r   r5   r8  N)r*   r9   r	   r7   r   r   r0   s    r"   Útest_wavedec_axis_errorrN  ú  s#   € Ü�7Š7�1‹:€Dä”*œdŸl™l¨D°&¸q×Ar$   c                  ó    € \         P                  ! \        P                  ! ^4      R4      p \	        \
        \         P                  V R^R7       R# rM  ©r   r   r*   r9   r	   r7   r8   ©rj   s    r"   Útest_waverec_axis_errorrR     s.   € Ü�Š”R—W’W˜Q“Z Ó(€Aä”*œdŸl™l¨A¨v¸A×>r$   c                  ó¾   € \         P                  ! \        P                  ! ^4      R4      p V ^,          RR V ^&   \	        \
        \         P                  V R^R7       R# )r“   r5   Nr8  r¿   rP  rQ  s    r"   Ú!test_waverec_shape_mismatch_errorrT    sA   € Ü�Š”R—W’W˜R“[ &Ó)€AàˆQ�4��ˆ9€A€a�DÜ”*œdŸl™l¨A¨v¸A×>r$   c                  óþ   € \         P                  ! R4      p \        \        \        P
                  V R^R7       \        \        \        P
                  V RRR7       \        \        \        P
                  V RRR7       R# ©r   r5   rø   Nr‡   )r   r   rü   )r*   r9   r	   Ú	TypeErrorr   rz   r7   r0   s    r"   Útest_wavedec2_axes_errorsrX    sK   € Ü�7Š7�6‹?€Dä”)œTŸ]™]¨D°&¸qÕAä”*œdŸm™m¨T°6ÀÕGä”*œdŸm™m¨T°6À×Gr$   c                  ó,  € \         P                  ! R4      p \        P                  ! V R4      p\	        \
        \        P                  VR^R7       \	        \        \        P                  VRRR7       \	        \        \        P                  VRRR7       R# rV  )r*   r9   r   rz   r	   rW  r{   r7   ©r1   rj   s     r"   Útest_waverec2_axes_errorsr[    s[   € Ü�7Š7�6‹?€DÜ�Š�d˜FÓ#€Aä”)œTŸ]™]¨A¨v¸AÕ>ä”*œdŸm™m¨Q°¸VÕDä”*œdŸm™m¨Q°¸V×Dr$   c                  óº   € \         P                  ! R4      p \        \        \        P
                  V RRR7       \        \        \        P
                  V RRR7       R# ©r4   r5   rø   Nr«   ©r   r   )r   r   r   )r*   r9   r	   r7   r   rŽ   r0   s    r"   Útest_wavedecn_axes_errorsr_  "  s8   € Ü�7Š7�9Ó€Dä”*œdŸm™m¨T°6ÀÕGä”*œdŸm™m¨T°6À	×Jr$   c                  óè   € \         P                  ! R4      p \        P                  ! V R4      p\	        \
        \        P                  VRRR7       \	        \
        \        P                  VRRR7       R# r]  )r*   r9   r   rŽ   r	   r7   r£   rZ  s     r"   Útest_waverecn_axes_errorsra  *  sH   € Ü�7Š7�9Ó€DÜ�Š�d˜FÓ#€Aä”*œdŸm™m¨Q°¸VÕDä”*œdŸm™m¨Q°¸Y×Gr$   c                  óÂ  € \         P                  P                  R 4      p V P                  ^^^4      p\        P
                  ! R4      RR3p\        VP                  V4       UUu. uF$  w  r4\        P                  P                  W44      NK&  	  pppRR\        P                  P                  P                  P                  3p\        P                  ! WV4      p\        \        P                   ! WrV4      VRR7       \#        \%        V4      \'        VR,          4      4       \        P                  ! WR	,          V4      p\        \        P                   ! WrR	,          V4      VRR7       \        P                  ! WVR	,          4      p\        \        P                   ! WrVR	,          4      VRR7       \)        \*        \        P                  WR
,          4       \)        \*        \        P                  WVR
,          R7       \)        \*        \        P                   WrR
,          4       \)        \*        \        P                   WrVR
,          R7       VR,          p\        P,                  ! W‚R
,          VR
,          4      p	\        \        P.                  ! W’R
,          VR
,          4      VRR7       \#        \%        VR
,          4      \'        V	R,          4      4       R# u uppi )rD   r5   Úsym2rõ   rÅ   rÄ   r:  r;  r  :Nr   NºNr¨   Nro   N).r   )r*   r+   rI   r,   r   r   rc   rŸ   Ú_dwtr   Ú_extensionsÚ_pywtrs   ÚreflectrŽ   r   r£   r   ræ   r   r	   r7   rz   r{   )
rO   r1   Úwaveletsr¥   ÚnfÚ
max_levelsrt   r@  Údata2Úcoefs2s
             r"   Ú test_per_axis_wavelets_and_modesrn  3  s  € ä�Y‰Y×"Ñ" 4Ó(€FØ�<‰<˜˜B Ó#€Dô —’˜VÓ$ f¨eÐ4€Hô �d—j‘j (Ô+ô-Ù+ñ 7=°b”$—)‘)×)Ñ)¨"Ö1Ù+ð ñ -ð ˜/Ü×Ñ×#Ñ#×)Ñ)×1Ñ1ð3€Eô �MŠM˜$¨%Ó0€EÜ”D—M’M %°5Ó9¸4ÀeÕLÜ”�Z“¤# e¨B¥i£.Ô1ä�MŠM˜$¨¥¨eÓ4€EÜ”D—M’M %°"­°uÓ=¸tØõ ô �MŠM˜$¨%°­)Ó4€EÜ”D—M’M %°5¸µ9Ó=¸tØõ ô ”*œdŸm™m¨T¸Bµ<Ô@Ü”*œdŸm™m¨TÀ%ÈÅ)ÕLÜ”*œdŸm™m¨U¸RµLÔAÜ”*œdŸm™m¨UÀ5ÈÅ9ÕMð ��L€EÜ�]Š]˜5¨2¥,°°bµ	Ó:€FÜ”D—M’M &°2­,¸¸b½	ÓBÀEØõ ä”�Z •^Ó$¤c¨&°­*£oÖ6ùó=-s   Á%*Kc            
      óŠ  € \         P                  P                  ^ 4      p \        ^^4       EF  p\	        \
        \        4       Fö  w  r#R Fë  pV P                  RV,          4      pVP                  V4      p\        P                  ! VRVR7      p\        P                  ! V4      pVP                  P                  \         P                  \         P                  39   d   \!        WuRRR7       M\!        WuRRR7       \#        VP$                  P                  V8H  4       \#        VP                  V8H  4       Kí  	  Kø  	  EK  	  R# )	r   Nr5   ©Úlevelsr   rq   r:  )r   N©r4   )r*   r+   rI   r¢   rc   rd   re   r>  r-   r   Ú
fswavedecnÚ
fswaverecnrL   rM   Úfloat32Úfloat16r   r   r<   )rO   rÿ   rg   rh   rq  r1   ÚTrâ   s           r"   Ú$test_fswavedecn_fswaverecn_roundtriprx  _  sâ   € ô �Y‰Y×"Ñ" 1Ó%€FÜ�a˜—ˆÜ ¤¬JÖ7‰MˆEÛ#�Ø×-Ñ-¨e°D­jÓ9�Ø—{‘{ 5Ó)�Ü—O’O D¨&¸Ô@�Ü—o’o aÓ(�Ø—9‘9—?‘?¤r§z¡z´2·:±:Ð&>Ô>Ü# C°D¸tÖDä# C°EÀÕFÜ˜Ÿ™Ÿ™¨&Ñ0Ô1Ü˜Ÿ	™	 VÑ+Ö,ó $ô 8ó r$   c                  ó.  € \         P                  P                  ^ 4      p ^pV P                  RV,          4      p\        P
                  ! VR^ R7      p\        VP                  V4       \        P                  ! V4      p\        VP                  V4       R# )r   r5   rp  Nrr  )	r*   r+   rI   r>  r   rs  r   r<   rt  ©rO   rÿ   r1   rw  râ   s        r"   Ú&test_fswavedecn_fswaverecn_zero_levelsr{  r  sk   € ä�Y‰Y×"Ñ" 1Ó%€FØ€DØ×!Ñ! %¨¥*Ó-€DÜ�Š˜˜f¨QÔ/€AÜ�q—x‘x Ô&Ü
�/Š/˜!Ó
€CÜ�q—x‘x Ö%r$   c                  ó¬  € \         P                  P                  ^ 4      p ^pV P                  RV,          4      p\        P
                  ! VRRR7      p\        P                  ! V4      p\        WBRR7       \        \        \        P
                  VRRR7       \        \        \        P
                  VRR	R7       \        P                  ! \        4      ;_uu_ 4        \        P
                  ! VR\        \         P                  ! \         P                  ! VP                   4      4      4      ^,           R7       RRR4       R#   + '       g   i     R# ; i)
r   r5   rp  r:  r;  N©r“   )r   r¨   r   r^  )r   r   r   r   )r*   r+   rI   r>  r   rs  rt  r   r	   r7   ÚpytestÚwarnsrÉ   ÚintÚlog2ræ   rŸ   rz  s        r"   Ú*test_fswavedecn_fswaverecn_variable_levelsr‚  }  s×   € ä�Y‰Y×"Ñ" 1Ó%€FØ€DØ×!Ñ! &¨¥+Ó.€DÜ�Š˜˜f¨YÔ7€AÜ
�/Š/˜!Ó
€CÜ�C EÕ*ô ”*œdŸo™o¨t°VÀFÕKÜ”*œdŸo™o¨t°VÀLÕQô 
�Š”k×	"Õ	"Ü�Š˜˜fÜ"¤2§7¢7¬2¯6ª6°$·*±*Ó+=Ó#>Ó?ÀÕAõ	C÷ 
#×	"×	"Ò	"ús   ÃAEÅE	c            	      óv  € \         P                  P                  ^ 4      p ^pV P                  RV,          4      pRpR	p\        P
                  ! W#VR7      p\        V4       F\  p\        \        VP                  V,          4      \        P                  ! VP                  V,          W6,          4      ^,           4       K^  	  \        P                  ! V4      p\        WrRR7       \        \        \        P
                  W#R,          4       \        \        \        P
                  W#^ ,          VR,          R7       R# )
r   )rf   rp   r:  r;  rd  ro   Nr}  )r5   rõ   Úsym3)ÚperiodicrÅ   rÄ   )r*   r+   rI   r>  r   rs  r¢   r   r   r>   r   rŸ   rt  r   r	   r7   )rO   rÿ   r1   ri  rt   rw  Úaxrâ   s           r"   Ú6test_fswavedecn_fswaverecn_variable_wavelets_and_modesr‡  �  sÛ   € ä�Y‰Y×"Ñ" 1Ó%€FØ€DØ×!Ñ! &¨¥+Ó.€DØ&€HØ6€EÜ�Š˜°UÔ;€AÜ�DŽkˆä”S˜Ÿ™¨Õ+Ó,Ü×'Ò'¨¯
©
°2­¸½ÓEÀaÕGö	Iñ ô
 �/Š/˜!Ó
€CÜ�C EÕ*ô ”*œdŸo™o¨t¸bµ\ÔBô ”*œdŸo™o¨t¸aµ[ÀuÈRÅy×Qr$   c                 óH  € \         P                  P                  ^ 4      p V P                  R4      p\	        R^4       F?  p\
        P                  ! VRVR7      p\
        P                  ! V4      p\        WARR7       KA  	  \        \        \
        P                  VRRR7       R# )	z.Fully separable DWT over only a subset of axesr5   rø   r:  r;  N)r   r4   r“   r'  rý   )r   r   )r*   r+   rI   r>  r   r   rs  rt  r   r	   r7   )rO   r1   r÷   rw  râ   s        r"   Ú'test_fswavedecn_fswaverecn_axes_subsetsr‰  §  sw   € ä�Y‰Y×"Ñ" 1Ó%€Fà×!Ñ! .Ó1€Dä˜\¨1Ö-ˆÜ�OŠO˜D &¨tÔ4ˆÜ�oŠo˜aÓ ˆÜ˜¨×.ñ .ô ”*œdŸo™o¨t°VÀ&×Ir$   c                  ó¦  € \         P                  ! R4      p Rp\        P                  ! V RVR7      pRV P                  ,          p\        W#,          VP                  4       VP                  4       p\        W49  4       V F+  pW%,          p\        VP                  V P                  4       K-  	  \         P                  ! X4      VX&   \        \        VP                  T\         P                  ! \        VP                    Uu. uF  qw^,           NK  	  up4      4      4       \"        P$                  ! \&        4      ;_uu_ 4        VP                  V\         P                  ! V4      P)                  \         P*                  4      4       RRR4       \        VP,                  P                  V P                  4       R# u upi   + '       g   i     LA; i)r'  rc  rp  N)r'  r'  rû   rù   )r*   r9   r   rs  rÿ   r   ÚapproxÚdetail_keysr   r   Ú
zeros_liker	   r7   Ú__setitem__r•   r  rŸ   r~  r  rÉ   r-   ru  r<   )r1   rq  ÚresultÚ
approx_keyÚdkeysr/  rÛ   r  s           r"   Útest_fswavedecnresultr’  ¶  s?  € Ü�7Š7�8Ó€DØ€FÜ�_Š_˜T 6°&Ô9€Fð ˜Ÿ™Õ"€JÜ�vÕ)¨6¯=©=Ô9à×ÑÓ €EäˆJÑ#Ô$ó ˆØ�IˆÜ�Q—V‘V˜TŸY™YÖ'ñ ô
 —’˜aÓ €Fˆ1�Iô ”*˜f×0Ñ0Ø”R—X’Xœe°A·G²GÓ$<±G¨q¨§U U±GÑ$<Ó=Ó>ô@ô 
�Š”k×	"Õ	"Ø×Ñ˜1œbŸmšm¨AÓ.×5Ñ5´b·j±jÓAÔB÷ 
#ô �—‘×#Ñ# T§Y¡YÖ/ùò %=÷ 
#×	"ús   ÄF;ÅAG Ç G	c            	      ó¨  € \         P                  ! R4      p \        \        P                  \        P
                  \        P                  .\        P                  \        P                  \        P                  .4       FQ  w  rR\        P                  ! R4      3 F0  p\        \        WVR7       V! V R4      p\        \        W$VR7       K2  	  KS  	  R# )r“   Úmorl)rf   r   NrC  )r*   r9   rc   r   r   rz   rŽ   r8   r{   r£   ÚDiscreteContinuousWaveletr	   r7   )r1   Údec_funÚrec_funÚcwaverj   s        r"   Ú test_error_on_continuous_waveletr™  ×  sŽ   € ä�7Š7�8Ó€DÜ¤§¡¬t¯}©}¼d¿m¹mÐ LÜ!%§¡¬t¯}©}¼d¿m¹mÐ LöNÑˆàœd×<Ò<¸VÓDÓEˆEÜœ* g¸UÕCá˜˜eÓ$ˆAÜœ* g¸%×@ó	 FóNr$   c                  ó‚  € \         P                  ! R4      p Rp\        P                  \        P                  3 F‹  pR F‚  pV! WVR7      p\         P
                  ! \        W14       UUu. uF-  w  rV\        P                  ! V P                  V,          V4      NK/  	  upp4      p\        \        VR,          4      V4       K„  	  K�  	  R Fk  p\        P                  ! WV,          V3R7      p\        \        VR,          4      \        P                  ! V P                  V,          W,          4      4       Km  	  R# u uppi )é€   rø   r  N)r›  r'  r   )Údb8r   rú   )rú   )r¨   r   rü   )r*   r9   r   rz   rŽ   ræ   rc   r   rŸ   r   r   )r1   rf   r�   r÷   rj   r†  r  r5  s           r"   Útest_default_levelr�  ã  sñ   € ä�7Š7�<Ó €DØ€GÜ—]‘]¤D§M¡MÓ2ˆÛ,ˆDÙ˜¨TÔ2ˆAÜ—f’fÜ-0°Ô-?ôAÙ-?¡' "ô #×0Ò0°·±¸BµÀÖEÙ-?òAó BˆGäœ˜Q˜r�U› WÖ-ó	 -ñ 3ó ˆÜ�MŠM˜$¨¥°2°&Ô9ˆÜ”S˜˜2�“ZÜ×'Ò'¨¯
©
°2­¸½ÓDö	Fó ùó	As   Á)3D;c            	      óf  € \         P                  P                  ^ 4      p \        P                  \        P
                  R3\        P                  \        P                  R3\        P                  \        P                  R33 EFŸ  w  rpV P                  ! V!  pV! VR4      pV^ ,          P                  \         P                  4      V^ &   V! VR4      p\        WdRRR7       \        VP                  \         P                   4       VRV,          ,           pV! VR4      pV^ ,          P                  \         P"                  4      V^ &   V! VR4      p\        WdRRR7       \        VP                  \         P$                  4       VP&                  ^8X  dS   V^ ,          P                  \         P$                  4      V^ &   V^,          P                  \         P"                  4      V^&   VP&                  ^8X  dk   V^ ,          P                  \         P$                  4      V^ &   \)        V^,           Uu. uF!  qˆP                  \         P"                  4      NK#  	  up4      V^&   VP&                  ^8X  du   V^ ,          P                  \         P$                  4      V^ &   V^,          P+                  4        U	Uu/ uF$  w  r˜W˜P                  \         P"                  4      bK&  	  upp	V^&   V! VR4      p\        WdRRR7       \        VP                  \         P$                  4       EK¢  	  R# u upi u upp	i )	r   r   gH¯¼šò×z>rq   rE   Nrr  r~   r«   )r*   r+   rI   r   r   r8   rz   r{   rŽ   r£   r,   r-   ru  r   r   rM   r.   Ú	complex64Ú
complex128rÿ   r  rÑ   )
rO   ÚfuncÚifuncrŸ   r   Úcoeffs_realrw   r<   r0  r/  s
             r"   Útest_waverec_mixed_precisionr¤  ô  sU  € Ü�Y‰Y×"Ñ" 1Ó%€FÜ $§¡¬d¯l©l¸EÐBÜ $§¡¬t¯}©}¸fÐEÜ $§¡¬t¯}©}¸iÐHôJÑˆ�Uð �LŠL˜%Ñ ˆÙ˜1˜e“nˆð % Q�×.Ñ.¬r¯z©zÓ:ˆ�A‰Ù�+˜uÓ%ˆÜ˜ 4¨dÕ3Ü�Q—W‘WœbŸj™jÔ)à��1•�HˆÙ�a˜“ˆð ˜1•I×$Ñ$¤R§\¡\Ó2ˆˆq‰	Ù�&˜%Ó ˆÜ˜ 4¨dÕ3Ü�Q—W‘WœbŸm™mÔ,ð �6‰6�QŒ;Ø˜q�	×(Ñ(¬¯©Ó7ˆF�1‰IØ˜q�	×(Ñ(¬¯©Ó6ˆF�1‰IØ�6‰6�QŒ;Ø˜q�	×(Ñ(¬¯©Ó7ˆF�1‰IÜ¸vÀa¾yÓI¹y¸!Ÿx™x¬¯©Ö5¹yÑIÓJˆF�1‰IØ�6‰6�QŒ;Ø˜q�	×(Ñ(¬¯©Ó7ˆF�1‰Ià%+¨A¥Y§_¡_Ô%6ô8Ù%6™T˜Qð ŸH™H¤R§\¡\Ó2Ò2Ù%6ò8ˆF�1‰Iá�&˜%Ó ˆÜ˜ 4¨dÕ3Ü�Q—W‘WœbŸm™m×,óEJùò6 Jùó8s   È0'L(
Ê5*L-)mrÆ   Ú	itertoolsr   Únumpyr*   r~  Únumpy.testingr   r   r   r   r   r	   r
   r   Úint8rv  ru  r.   rŸ  r   rd   re   ru   r¤   rJ   Ú
complex256ÚAttributeErrorrr   ÚremoveÚdel_listrf   rÇ   rÈ   ÚFutureWarningÚ
isinstancer•  r   ÚappendÚdel_indr#   r2   rA   rS   rW   r[   r^   rl   rx   r|   r‚   ÚmarkÚslowr„   r‰   r‹   r‘   r–   r™   r    r¦   r®   r¶   r¸   rº   r½   rÀ   rÍ   rÏ   rÓ   rÕ   r×   rÙ   rÞ   ró   r   r  r  r  r  r  r  r  r!  r#  r1  r6  rA  rD  rG  rI  rK  rN  rR  rT  rX  r[  r_  ra  rn  rx  r{  r‚  r‡  r‰  r’  r™  r�  r¤  rþ   r$   r"   Ú<module>r³     s~  ðó Ý "ã Û ÷÷ ñ ó ð
 �W‰W�b—j‘j "§*¡*¨b¯j©j¸"¿,¹,Ø�]‰]ð€	à�j‰j˜"Ÿ*™* b§j¡j°"·*±*¸b¿l¹lØ�m‰mð€
ð €
Ø€
ØŸ*™* jÐ1°B·J±JÀ
Ð3KØŸ*™* jÐ1°B·G±G¸ZÐ3HØŸ,™,¨
Ð3ØŸ-™-¨Ð4ð6Ð ð	Ø�"—-‘-Ð"Õ"€IØ�2—=‘=Ð#Õ#€JØ˜rŸ}™}¨jÐ9Ð<Õ<Ðð �=Š=‹?€Ø	ˆXÔà‡O�O�FÔð €Û€GØ	×	 Ò	 ×	"Õ	"Ø×Ò˜h¨Ô6Ù˜$×8Ò8¸ÓAØŸ,™,÷(ò (à�O‰O˜GÔ$÷	 
#Ñ	"ñ ó €GØ‡O�O�GÖñ ò2ò'ò ò"Lò6ò@ò@òCòAò	MòDð  ‡�×ÑñAó ðAòDò;ò$ò<òAò;òJòCò9ò6$ò=ò<òEòAò	MòDò DòMð ‡�×ÑñAó ðAò<ò4?ò67ò:,ò4;ò(Lò?ò6;ò.;ò(9ò$9ò*Oò2ò6	;ò/ò/ò/ò/ò/òBò?ò?òHòEòKòHò'7òX-ò&&òCò&Rò.Jò0òB	AòFô"$-øðU ô 	Úð	ú÷ 
#×	"Ñ	"ús   Ä>K> ÆALË>L	ÌL	ÌL