+
    [°³ja  ã                   ó�  € ^ RI t ^ RIHt ^ RIHtHt ^ RIt^ RIt^ RI	H
t
HtHtHt ^ RIt^ RIHt ]P"                  ]P$                  ]P&                  ]P(                  ]P*                  ]P,                  .t]P(                  ]P&                  ]P&                  ]P(                  ]P*                  ]P,                  .tRtRtR tR	 tR
 tR tR tR t R t!R t"]PF                  PH                  R#R l4       t%R t&R#R lt'R t(R t)]PF                  PH                  R#R l4       t*R t+R t,R t-R t.R t/R t0R t1R t2R t3R t4R  t5R! t6R" t7R# )$é    N)Údeepcopy)ÚcombinationsÚpermutations)Úassert_Úassert_allcloseÚassert_array_equalÚassert_equal)Úswt_axisç�íµ ÷Æ°>g‚vIhÂ%<=c                  óº  € . ROp \         P                  ! R4      p\        p\         P                  ! W^R7      w  w  r4w  rVw  rx. R	Op	\	        WyRVR7       . R
Op
\	        WŠRVR7       . ROp\	        W[\        VR7       . ROp\	        Wl\        VR7       R.^,          p\	        W=RVR7       . ROp\	        WNRVR7       \         P                  ! Wq^^R7      pV^ ,          w  rV\	        W[\        VR7       \	        Wl\        VR7       \         P                  ! W4      p\        \        V4      ^8H  4       \        \         P                  ! \        V 4      4      ^4       R# )é   Údb1©Úlevelg:Œ0âŽyE>©ÚrtolÚatolgZoÌ™ŠÌ#@©r   Ústart_levelN©r   é   é   r   éþÿÿÿé   é   r   )çMþþÿÅH@gVô‡fž @çß'Üež @gß'Üež æ?r   r   r   gQyC3²t@)gß'Üež Àç^êÍvø@çß'Üež ö¿çÄÊª ÆH@gVô‡fž Àgß'Üež ö?r   ççeÌvø @)r   g      @r   g      @r   g      #@é
   g      !@)r   g      @r   g      Àéýÿÿÿç      à?r   r$   )ç        gÄÊª ÆHÀg^êÍvøÀgçeÌvø Àr%   r    r   r!   )ÚpywtÚWaveletÚ
tol_doubleÚswtr   r   ÚlenÚswt_max_level)Úxr   r   ÚcA3ÚcD3ÚcA2ÚcD2ÚcA1ÚcD1Úexpected_cA1Úexpected_cD1Úexpected_cA2Úexpected_cD2Úexpected_cA3Úexpected_cD3ÚresÚcoeffss                    ÚT/home/luca/screen-checking/.venv/lib/python3.14/site-packages/pywt/tests/test_swt.pyÚtest_swt_decompositionr<   $   s  € Ú!€AÜ
�,Š,�uÓ
€CÜ€DÜ)-¯ª°!ÀÔ)BÑ&�J€S‘
�™J˜SòD€Lä�C¨D°tÕ<òF€Lä�C¨D°tÕ<Ú4€LÜ�C¬J¸TÕBÚ5€LÜ�C¬J¸TÕBØ�> AÕ%€LÜ�C¨D°tÕ<òD€Lä�C¨D°tÕ<ô �(Š(�3 1°!Ô
4€CØ�1�v�H€CÜ�C¬J¸TÕBÜ�C¬J¸TÕBä�XŠX�aÓ€FÜŒC�‹K˜1ÑÔÜŒD×Òœs 1›vÓ&¨Ö*ó    c                  ó–  € \         P                  ! \        4      ;_uu_ 4        \        P                  ! ^4       RRR4       \
        P                  ! 4       ;_uu_ 4        \
        P                  ! R\        4       \        \        P                  ! ^4      ^ 4       RRR4       \        \        P                  ! ^4      ^4       \        \        P                  ! ^4      ^4       \        \        P                  ! ^4      ^4       \        \        P                  ! ^04      ^4       R#   + '       g   i     Ló; i  + '       g   i     L¥; i)é   NÚignore)	ÚpytestÚwarnsÚUserWarningr&   r+   ÚwarningsÚcatch_warningsÚsimplefilterr	   © r=   r;   Útest_swt_max_levelrH   D   sÇ   € ä	�Š”k×	"Õ	"Ü×Ò˜2Ô÷ 
#ô 
×	 Ò	 ×	"Õ	"Ü×Ò˜h¬Ô4Ü”T×'Ò'¨Ó+¨QÔ/÷ 
#ô
 ”×#Ò# AÓ&¨Ô*Ü”×#Ò# CÓ(¨!Ô,Ü”×#Ò# BÓ'¨Ô+Ü”×#Ò# DÓ)¨1Ö-÷ 
#×	"ú÷ 
#×	"ús   £D%Á<D8Ä%D5	Ä8E	c            	      ó(  € . ROp \         P                  ! R4      p\         P                  ! W^R7      w  w  r#w  rER	 EFy  p\        P                  ! V 4      P                  R
4      p\        P                  ! V3^,          ^ R7      pVR8X  d   \        P                  ! V4      pMVR8X  d   \        P                  ! V4      p\         P                  ! Wq^R7      w  w  r‰w  r«W‰W«3 F%  p\        VP                  VP                  8H  4       K'  	  V
 F  p\        WÔ4       K  	  V F  p\        WÒ4       K  	  V F  p\        WÕ4       K  	  V	 F  p\        WÓ4       K  	  \        P                  ! V 4      P                  R4      p\        P                  ! V3^,          ^R7      pVR8X  d   \        P                  ! V4      pMVR8X  d   \        P                  ! V4      p\         P                  ! Wq^^ R7      w  w  r‰w  r«W‰W«3 F%  p\        VP                  VP                  8H  4       K'  	  V
P                  R4       F  p\        WÔ4       K  	  VP                  R4       F  p\        WÒ4       K  	  VP                  R4       F  p\        WÕ4       K  	  V	P                  R4       F  p\        WÓ4       K  	  EK|  	  \        P                  ! \        4      ;_uu_ 4        \         P                  ! W^^R7       RRR4       R#   + '       g   i     R# ; i)r   r   r   ÚCÚF)Úaxis)r   rL   Nr   )rJ   rK   )r   éÿÿÿÿ)rM   r   ©r   r   )r&   r'   r)   ÚnpÚasarrayÚreshapeÚconcatenateÚascontiguousarrayÚasfortranarrayr   Úshaper   Ú	transposerA   ÚraisesÚ
ValueError)r,   r   r/   r0   r1   r2   ÚorderÚx_2dÚcA2_2dÚcD2_2dÚcA1_2dÚcD1_2dÚcÚrows                 r;   Útest_swt_axisra   T   sk  € Ú!€Aä
�,Š,�uÓ
€CÜ!ŸXšX a°AÔ6Ñ�J€S‘
�ô ˆä�zŠz˜!‹}×$Ñ$ WÓ-ˆÜ�~Š~˜t˜h q�j¨qÔ1ˆØ�CŒ<Ü×'Ò'¨Ó-‰DØ�cŒ\Ü×$Ò$ TÓ*ˆDÜ-1¯XªX°dÀqÔ-IÑ*ÑˆÑ*˜6à &Ó1ˆAÜ�A—G‘G˜tŸz™zÑ)Ö*ñ 2ó ˆCÜ˜sÖ(ñ ãˆCÜ˜sÖ(ñ ãˆCÜ˜sÖ(ñ ãˆCÜ˜sÖ(ñ ô �zŠz˜!‹}×$Ñ$ WÓ-ˆÜ�~Š~˜t˜h q�j¨qÔ1ˆØ�CŒ<Ü×'Ò'¨Ó-‰DØ�cŒ\Ü×$Ò$ TÓ*ˆDÜ-1¯XªX°dÀqØ;<ô.>Ñ*ÑˆÑ*˜6ð  &Ó1ˆAÜ�A—G‘G˜tŸz™zÑ)Ö*ñ 2ð ×#Ñ# FÖ+ˆCÜ˜sÖ(ñ ,à×#Ñ# FÖ+ˆCÜ˜sÖ(ñ ,à×#Ñ# FÖ+ˆCÜ˜sÖ(ñ ,à×#Ñ# FÖ+ˆCÜ˜sÖ(ô ,ñS ôZ 
�Š”z×	"Õ	"Ü�Š�˜q qÕ)÷ 
#×	"×	"Ò	"ús   ËL Ì L	c                  ó~  € ^p \         P                  ! RR7      pRV9   d   VP                  R4       V EF  p\         P                  ! V4      p\	        \
        P                  ! \
        P                  ! \        VP                  VP                  4      4      4      4      p^W@,           ^,
          ,          p\
        P                  ! V4      pR
 Fg  pV'       d   VP                  '       g   K  R
 FB  p\         P                  ! WcV W‡R7      p	\         P                  ! W“VR7      p
\        W¦RRR7       KD  	  Ki  	  EK  	  R	# )r   Údiscrete©ÚkindÚdmey©Útrim_approxÚnorm©ri   çñhãˆµøä>çH¯¼šò×z>r   N©TF)r&   ÚwavelistÚremover'   ÚintrO   ÚceilÚlog2ÚmaxÚdec_lenÚrec_lenÚarangeÚ
orthogonalr)   Úiswtr   )Ú	max_levelÚwaveletsÚcurrent_wavelet_strÚcurrent_waveletÚinput_length_powerÚinput_lengthÚXri   rh   r:   ÚYs              r;   Útest_swt_iswt_integrationr�   �   sù   € ð €IÜ�}Š} *Ô-€HØ�Ôà�‰˜ÔÜ'ÐÜŸ,š,Ð':Ó;ˆÜ ¤§¢¬¯ª´Ø×#Ñ#Ø×#Ñ#ó2%ó *&ó "'ó (Ðð Ð-Õ9¸AÕ=Õ>ˆÜ�IŠI�lÓ#ˆÛ!ˆDß˜O×6×6Ð6áÛ,�ÜŸš !°iØ.9ôF�ä—I’I˜f¸DÔA�Ü ¨4°d×;ó	  -ô	 "ó  (r=   c                  ó  € \         P                  ! R 4      p \        \        \        4       EFV  w  rRV R2p\
        P                  ! ^VR7      p\         P                  ! W@^R7      w  w  rVw  rx\        VP                  VP                  u;8H  ;'       d6    VP                  u;8H  ;'       d    VP                  u;8H  ;'       d    V8H  Mu RV,           4       \
        P                  ! RVR7      p\         P                  ! W@^R7      ^ ,          w  p	w  r«p\        V	P                  V
P                  u;8H  ;'       d6    VP                  u;8H  ;'       d    VP                  u;8H  ;'       d    V8H  Mu RV,           4       EKY  	  R# )	Úhaarzwrong dtype returned for z input)Údtyper   zswt: zswt2: N©é   r†   )r&   r'   ÚzipÚ	dtypes_inÚ
dtypes_outrO   Úonesr)   r   r„   Úswt2)ÚwaveletÚdt_inÚdt_outÚerrmsgr,   r/   r0   r1   r2   ÚcAÚcHÚcVÚcDs                r;   Útest_swt_dtypesr”   ®   s
  € Ü�lŠl˜6Ó"€GÜœY¬
×3‰ˆØ,¨U¨G°6Ð:ˆô �GŠG�A˜UÔ#ˆÜ!%§¢¨!¸AÔ!>Ñ‰
ˆ‘J�SÜ�—	‘	˜SŸY™Y×JÔJ¨#¯)©)×JÔJ°s·y±y×JÔJÀFÔJØ˜&Õ ô	"ô �GŠG�F %Ô(ˆÜŸ9š9 Q°qÔ9¸!Õ<Ñˆ‰LˆR�RÜ�—‘˜BŸH™H×FÔF¨¯©×FÔF°B·H±H×FÔFÀÔFØ˜6Õ!÷	#ó 4r=   c                  ó  € \         P                  P                  ^4      p \        P                  ! R4      p\        \        \        4       F½  w  r#V P                  R4      P                  V4      p\        P                  ! WA^R7      p\        P                  ! WQ4      p\        WFRRR7       V P                  R4      P                  V4      p\        P                  ! WA^R7      p\        P                  ! WQ4      p\        WFRRR7       K¿  	  R# )	é   rƒ   r   r   rl   r   N)r†   r…   )rO   ÚrandomÚRandomStater&   r'   r‡   rˆ   r‰   Ústandard_normalÚastyper)   rx   r   r‹   Úiswt2)ÚrstaterŒ   r�   rŽ   r,   r_   Úxrs          r;   Útest_swt_roundtrip_dtypesrž   À   sÃ   € ä�Y‰Y×"Ñ" 1Ó%€FÜ�lŠl˜6Ó"€GÜœY¬
Ö3‰ˆà×"Ñ" 5Ó)×0Ñ0°Ó7ˆÜ�HŠH�Q qÔ)ˆÜ�YŠY�qÓ"ˆÜ˜ D¨tÕ4ð ×"Ñ" 6Ó*×1Ñ1°%Ó8ˆÜ�IŠI�a¨Ô*ˆÜ�ZŠZ˜Ó#ˆÜ˜ D¨t×4ó 4r=   c            	      óð   € R p \         P                  ! R4      pR FW  p\        P                  ! WR^ VR7      p\	        \        V4      \        P                  ! VP                  V,          4      4       KY  	  R# )Údb2N©r   r   rL   )r†   é   é    ©r   r   é   )rO   rŠ   r&   r)   r	   r*   r+   rU   )Úwavr,   rL   Úsdecs       r;   Útest_swt_default_level_by_axisr¨   Ò   sU   € à
€CÜ
�ŠÐ"Ó#€AÛˆÜ�xŠx˜ d¸ÀÔEˆÜ”S˜“Y¤× 2Ò 2°1·7±7¸4µ=Ó AÖBó r=   c                  óâ   € \         P                  ! ^4      p \        P                  ! \        4      ;_uu_ 4        \
        P                  ! V R^R7       RRR4       R#   + '       g   i     R# ; i)r†   rƒ   r   N)rO   rŠ   rA   rW   rX   r&   r‹   ©r,   s    r;   Útest_swt2_ndim_errorr«   Û   s=   € Ü
�Š�‹
€AÜ	�Š”z×	"Õ	"Ü�	Š	�!�V 1Õ%÷ 
#×	"×	"Ò	"ús   ¹AÁA.	c                 ó²  € ^pV f0   \         P                  ! RR7      p RV 9   d   V P                  R4       V  EF  p\         P                  ! V4      p\	        \
        P                  ! \
        P                  ! \        VP                  VP                  4      4      4      4      p^WA,           ^,
          ,          p\
        P                  ! V^,          4      P                  WU4      pR	 Fg  pV'       d   VP                  '       g   K  R	 FB  p\         P                  ! WcVW‡R7      p	\         P                  ! W“VR7      p
\!        W¦RRR7       KD  	  Ki  	  EK  	  R# )
r   Nrc   rd   rf   rg   rj   rk   r   rm   )r&   rn   ro   r'   rp   rO   rq   rr   rs   rt   ru   rv   rQ   rw   r‹   r›   r   )rz   ry   r{   r|   r}   r~   r   ri   rh   r:   r€   s   &          r;   Útest_swt2_iswt2_integrationr­   á   s  € ð €IØÒÜ—=’= jÔ1ˆØ�XÔà�O‰O˜FÔ#Ü'ÐÜŸ,š,Ð':Ó;ˆÜ ¤§¢¬¯ª´Ø×#Ñ#Ø×#Ñ#ó2%ó *&ó "'ó (Ðð Ð-Õ9¸AÕ=Õ>ˆÜ�IŠI�l A•oÓ&×.Ñ.¨|ÓJˆã!ˆDß˜O×6×6Ð6áÛ,�ÜŸš 1°yØ/:ôG�ä—J’J˜v¸TÔB�Ü ¨4°d×;ó	  -ô	 "ó  (r=   c                  ó    € \        R .R7       R# ©r   )rz   N)r­   rG   r=   r;   Útest_swt2_iswt2_quickr°     ó   € Ü¨%¨×3r=   c           	      ó¨  € R F¸  p\         P                  ! V^ ,          4      P                  V^ 4      pRp\        P                  ! 4       ;_uu_ 4        \        P
                  ! R\        4       \        P                  ! W#^R7      p\        P                  ! WC4      pRRR4       \        XV\        \        R7       Kº  	  R#   + '       g   i     L-; i)r†   r   r@   r   Nr   )r†   r¢   é0   )rO   rv   rQ   rD   rE   rF   ÚFutureWarningr&   r‹   r›   r   Ú
tol_single)rz   Únrowsr   r|   r:   r€   s   &     r;   Útest_swt2_iswt2_non_squarer·   	  s‹   € ÛˆÜ�IŠI�e˜B•hÓ×'Ñ'¨¨rÓ2ˆØˆÜ×$Ò$×&Õ&Ü×!Ò! (¬MÔ:Ü—Y’Y˜q¸Ô;ˆFÜ—
’
˜6Ó3ˆA÷ 'ô 	˜˜1¤:´J×?ó ÷ '×&ús   ÁA
CÃCc            
      ó>  € R p \         P                  ! R4      p\        \        P                  ! \        P
                  ! \        VP                  VP                  4      4      4      4      p^V,          p\        P                  ! V^,          4      P                  W34      p\         P                  ! WA^R7      ^ ,          w  pw  rgp\         P                  ! WA^RR7      ^ ,          w  p	w  r«p\        WYV R7       \        WkV R7       \        WzV R7       \        WŒV R7       \         P                  ! WVWx3.V4      p\        WMV R7       \         P                  ! WšW¼3.VRR7      p\        WNV R7       \        P                  ! \         4      ;_uu_ 4        \         P                  ! WA^RR7       RRR4       \        P                  ! \         4      ;_uu_ 4        \         P                  ! WA^R	R7       RRR4       R#   + '       g   i     LV; i  + '       g   i     R# ; i)
ç›+¡†›„=r    r   ©r   Úaxes©r   ©r»   NrN   ©r   r   ©r   )r&   r'   rp   rO   rq   rr   rs   rt   ru   rv   rQ   r‹   r   r›   rA   rW   rX   )r   r|   r}   r~   r   r1   ÚcH1ÚcV1r2   r/   ÚcH2ÚcV2r0   Úr1Úr2s                  r;   Útest_swt2_axesrÆ     s�  € Ø€DÜ—l’l 5Ó)€OÜœRŸWšW¤R§W¢W¬SØ×ÑØ×Ñó.!ó &"ó #ó $Ðð Ð)Õ*€LÜ
�	Š	�, •/Ó"×*Ñ*¨<ÓF€Aä!ŸYšY qÀÔCÀAÕFÑ€S‰/ˆ3�Sä!ŸYšY qÀØ,2ô4Ø45õ7Ñ€S‰/ˆ3�Sä�C 4Õ(Ü�C 4Õ(Ü�C 4Õ(Ü�C 4Õ(ô 
�Š�S ˜/Ð*¨OÓ	<€BÜ�A Õ%Ü	�Š�S ˜/Ð*¨OÀ&Ô	I€BÜ�A Õ%ô 
�Š”z×	"Õ	"Ü�	Š	�! a¨fÕ5÷ 
#ô 
�Š”z×	"Õ	"Ü�	Š	�! a¨eÕ4÷ 
#Ñ	"÷	 
#×	"ú÷ 
#×	"Ð	"ús   ÆG8ÇHÇ8H	ÈH	c            
      ó`  € R p \         P                  ! R4      p\        \        P                  ! \        P
                  ! \        VP                  VP                  4      4      4      4      p^V,          p\        P                  ! V^,          4      P                  W34      p\         P                  ! WA^RR7      ^ ,          p\         P                  ! WA^RR7      ^ ,          p\        VR,          VR,          V R7       \        VR,          VR,          V R7       \        VR,          VR,          V R7       \        VR,          VR,          V R7       \         P                  ! WA^ R	7      p\        V. 4       \        P                  ! \         4      ;_uu_ 4        \         P                  ! WA^RR
7       RRR4       \        P                  ! \         4      ;_uu_ 4        \         P                  ! \        P"                  ! . 4      V^4       RRR4       \        P                  ! \         4      ;_uu_ 4        \         P                  ! WA^^R7       RRR4       \        P                  ! \         4      ;_uu_ 4        \%        WA^ ^ R7       RRR4       \        P                  ! \         4      ;_uu_ 4        \%        VR,          V^ ^ ^ R7       RRR4       R#   + '       g   i     EL); i  + '       g   i     Lå; i  + '       g   i     L´; i  + '       g   i     LŽ; i  + '       g   i     R# ; i)r¹   r    Nrº   Úaar¼   ÚadÚdaÚddr   r½   r   r¡   rN   r¾   )rM   ºNNN)r&   r'   rp   rO   rq   rr   rs   rt   ru   rv   rQ   Úswtnr   r	   rA   rW   rX   rP   r
   )r   r|   r}   r~   r   r:   Úcoeffs2Úemptys           r;   Útest_swtn_axesrÐ   5  s  € Ø€DÜ—l’l 5Ó)€OÜœRŸWšW¤R§W¢W¬SØ×ÑØ×Ñó.!ó &"ó #ó $Ðð Ð)Õ*€LÜ
�	Š	�, •/Ó"×*Ñ*¨<ÓF€AÜ�YŠY�q°¸Ô>¸qÕA€Fä�iŠi˜°!¸&ÔAÀ!ÕD€GÜ�F˜4•L '¨$¥-°dÕ;Ü�F˜4•L '¨$¥-°dÕ;Ü�F˜4•L '¨$¥-°dÕ;Ü�F˜4•L '¨$¥-°dÕ;ô �IŠI�a°Ô2€EÜ�˜Ôô 
�Š”z×	"Õ	"Ü�	Š	�! a¨fÕ5÷ 
#ô 
�Š”z×	"Õ	"Ü�	Š	”"—*’*˜R“. /°1Ô5÷ 
#ô 
�Š”z×	"Õ	"Ü�	Š	�!¨A¸1Õ=÷ 
#ô 
�Š”z×	"Õ	"Ü�¨1¸!Õ<÷ 
#ô 
�Š”z×	"Õ	"Ü�!�E•(˜O°1À!È!ÕL÷ 
#Ñ	"÷! 
#×	"Ð	"ú÷ 
#×	"ú÷ 
#×	"ú÷ 
#×	"ú÷ 
#×	"Ð	"ús<   ÆKÇ-K#È0K6É4L	Ê-LËK 	Ë#K3	Ë6L	Ì	L	ÌL-	c                 óú  € ^pV f0   \         P                  ! RR7      p RV 9   d   V P                  R4       \        ^^4       EF´  pV^,           p\	        \        V4      V4       EF�  pV  EF‚  p\         P
                  ! V4      pVP                  ^8”  d   K-  \        \        P                  ! \        P                  ! \        VP                  VP                  4      4      4      4      p^Wq,           ^,
          ,          p\        P                  ! Wƒ,          4      P                  V3V,          4      p	R	 Fr  p
V
'       d   VP                  '       g   K  R	 FM  p\         P                   ! W–WWºR7      p\#        V4      p\         P$                  ! WÆWJR7      p\'        WéRRR7       KO  	  Kt  	  \)        XX4       F3  w  ppVP+                  4        F  w  pp\-        VV,          V4       K  	  K5  	  EK…  	  EK�  	  EK·  	  R# )
r   Nrc   rd   rf   )r»   rh   ri   )r»   ri   rk   r   rm   )r&   rn   ro   Úranger   r'   rt   rp   rO   rq   rr   rs   ru   rv   rQ   rw   rÍ   r   Úiswtnr   r‡   Úitemsr   )rz   ry   Úndim_transformÚndimr»   r{   r¦   r}   ÚNr   ri   rh   r:   Úcoeffs_copyr€   r_   Úc2ÚkÚvs   &                  r;   Útest_swtn_iswtn_integrationrÜ   ^  s‹  € ð €IØÒÜ—=’= jÔ1ˆØ�XÔà�O‰O˜FÔ#Ü  1Ÿ+ˆØ Õ!ˆÜ ¤ t£¨n×=ˆDÜ'/Ð#Ü—l’lÐ#6Ó7�Ø—;‘; ”?ÙÜ%(¬¯ª´·²¼Ø—K‘KØ—K‘Kó:!ó 2"ó *#ó &$Ð"ð Ð*Õ6¸Õ:Õ;�Ü—I’I˜a�gÓ&×.Ñ.°¨u°T­zÓ:�ã)�Dß C§N§N Ná Û'4˜Ü!%§¢¨1°9Ø7Bô"O˜ä&.¨vÓ&6˜Ü ŸJšJ v¸ÔI˜Ü'¨°4¸d×Có (5ñ	 *ô ! ¨Ö5‘E�A�rØ !§¡¦	™˜˜1Ü*¨2¨a­5°!Ö4ó !*ô 6ô- (0ô >ó &r=   c                  ó    € \        R .R7       R# r¯   )rÜ   rG   r=   r;   Útest_swtn_iswtn_quickrÞ   �  r±   r=   c                  ó  € \         P                  ! R4      P                  ^^^4      p ^pRp\        P                  ! R4      p\        P
                  ! WWR7      p\        P                  ! \        4      ;_uu_ 4        \        P                  ! WCRR7       RRR4       \        P                  ! \        4      ;_uu_ 4        \        P                  ! WCR	R7       RRR4       V^ ,          R,          RR
1R3,          V^ ,          R&   \        P                  ! \        4      ;_uu_ 4        \        P                  ! WCVR7       RRR4       R#   + '       g   i     L½; i  + '       g   i     L�; i  + '       g   i     R# ; i)r†   r   r½   NrÊ   rÌ   i   )r   r   r¤   r¾   rM   )rO   rv   rQ   r&   r'   rÍ   rA   rW   rX   rÓ   ÚRuntimeError)r,   ry   r»   Úwr:   s        r;   Útest_iswtn_errorsrâ   ‘  sõ   € Ü
�	Š	�$‹×Ñ  1 aÓ(€AØ€IØ€DÜ�Š�UÓ€AÜ�YŠY�q˜YÔ2€Fô 
�Š”z×	"Õ	"Ü�
Š
�6 9Õ-÷ 
#ô 
�Š”z×	"Õ	"Ü�
Š
�6 6Õ*÷ 
#ð ˜Q•i •o c r c¨1 fÕ-€Fˆ1…Iˆd�OÜ	�Š”|×	$Õ	$Ü�
Š
�6 4Õ(÷ 
%Ñ	$÷ 
#×	"ú÷ 
#×	"ú÷
 
%×	$Ð	$ús$   Á<E
Â?EÄ'E0Å
E	ÅE-	Å0F	c                  ól  € Rp Rp^p\         P                  P                  ^ 4      p\        V 4       Fy  p\	        V4       UUu. uF  w  rVV^8w  g   K  VNK  	  pppVP                  V4      p\        P                  ! W�W'R7      p	\        P                  ! W‘VR7      p
\        WŠRRR7       K{  	  R# u uppi )r   Úsym2r½   g»½×Ùß|Û=r   N)r   r³   r£   )
rO   r—   r˜   r   Ú	enumerater™   r&   rÍ   rÓ   r   )Ú_shaper¦   ry   rœ   rU   ÚaxÚsr»   r,   r_   Úrs              r;   Ú%test_swtn_iswtn_unique_shape_per_axisrê   ¦  s˜   € à€FØ
€CØ€IÜ�Y‰Y×"Ñ" 1Ó%€FÜ˜fÖ%ˆä )¨%Ô 0Ô;Ñ 0‘u�r°A¸±F—�Ñ 0ˆÑ;Ø×"Ñ" 5Ó)ˆÜ�IŠI�a˜iÔ3ˆÜ�JŠJ�q DÔ)ˆÜ˜ 5¨u×5ó &ùã;s   ÁB0ÁB0c            	      ó\  € \         P                  P                  R 4      p V P                  ^^^4      p^p\        P
                  ! R4      RR3p\        P                  ! WVR7      p\        \        P                  ! WC4      VRR7       \        P                  ! WR,          VR7      p\        \        P                  ! WCR,          4      VRR7       \        P                  ! \        4      ;_uu_ 4        \        P                  ! WR,          V4       R	R	R	4       \        P                  ! \        4      ;_uu_ 4        \        P                  ! WCR,          4       R	R	R	4       \        P                  ! 4       ;_uu_ 4        \        P                  ! R
\        4       VR,          p\        P                   ! WSR,          V4      p\        \        P"                  ! WcR,          4      VRR7       R	R	R	4       R	#   + '       g   i     Lë; i  + '       g   i     L¶; i  + '       g   i     R	# ; i)iÒ  rƒ   rä   Údb4r   r¹   r¼   :Nr   N:Nr¥   NNr@   ).r   )rO   r—   r˜   Úrandnr&   r'   rÍ   r   rÓ   rA   rW   rX   rD   rE   rF   r´   r‹   r›   )rœ   Údatar   rz   ÚcoefsÚdata2Úcoefs2s          r;   Útest_per_axis_waveletsrò   µ  sc  € ä�Y‰Y×"Ñ" 4Ó(€FØ�<‰<˜˜B Ó#€DØ€Eô —’˜VÓ$ f¨eÐ4€Hä�IŠI�d¨EÔ2€EÜ”D—J’J˜uÓ/°¸EÕBô �IŠI�d R�L°Ô6€EÜ”D—J’J˜u¨r¥lÓ3°TÀÕFô 
�Š”z×	"Õ	"Ü�	Š	�$ � eÔ,÷ 
#ô 
�Š”z×	"Õ	"Ü�
Š
�5 2�,Ô'÷ 
#ô 
×	 Ò	 ×	"Õ	"Ü×Ò˜h¬Ô6à�V•ˆÜ—’˜5¨2¥,°Ó6ˆÜœŸ
š
 6°B­<Ó8¸%ÀeÕL÷ 
#Ñ	"÷ 
#×	"ú÷ 
#×	"ú÷ 
#×	"Ð	"ús%   Ã2G4Ä;HÅ>A,HÇ4H	ÈH	ÈH+	c            
      ó„  € \         P                  ! R4      p \        \        P                  \        P
                  \        P                  .\        P                  \        P                  \        P                  .4       F˜  w  rR\        P                  ! R4      3 Fw  p\        P                  ! \        4      ;_uu_ 4        V! W^R7       RRR4       V! V R^R7      p\        P                  ! \        4      ;_uu_ 4        V! WCR7       RRR4       Ky  	  Kš  	  R#   + '       g   i     LY; i  + '       g   i     K¥  ; i)r¢   Úmorl)rŒ   r   Nr   r   )rŒ   )r¢   r¢   )rO   rŠ   r‡   r&   r)   r‹   rÍ   rx   r›   rÓ   ÚDiscreteContinuousWaveletrA   rW   rX   )rî   Údec_funcÚrec_funcÚcwaver_   s        r;   Ú test_error_on_continuous_waveletrù   Ô  sÌ   € ä�7Š7�8Ó€DÜ!¤4§8¡8¬T¯Y©Y¼¿	¹	Ð"BÜ#'§9¡9¬d¯j©j¼$¿*¹*Ð"EöGÑˆàœd×<Ò<¸VÓDÓEˆEÜ—’œz×*Õ*Ù˜°AÕ6÷ +ñ ˜˜u¨AÔ.ˆAÜ—’œz×*Õ*Ù˜Õ*÷ +Ñ*ó FóG÷ +×*ú÷ +×*Ð*ús   Â?D	Ã?
D.	ÄD+Ä.D?c                  ó’  € \         P                  ! ^4      P                  \         P                  4      p V RV ,          ,           pRp\         P                  \         P                  3\         P                  \         P                  3\         P
                  \         P                  3\         P                  \         P                  3\         P                  \         P                  33 Fà  w  r4V\         P                  \         P                  39   d   Tp\         P                  pMT p\         P                  p\        P                  ! WR^4      pV^ ,          ^ ,          P                  V4      V^ ,          ^,          P                  V4      .V^ &   \        P                  ! Wr4      p\        WhP                  4       \        W…RRR7       Kâ  	  R# )r¢   ù              ð?rä   çü©ñÒMbP?r   N)rO   rv   rš   Úfloat64Úfloat32Úfloat16Ú
complex128Ú	complex64r&   r)   rx   r	   r„   r   )	Úx_realÚ	x_complexr¦   Údtype1Údtype2r,   Úoutput_dtyper:   Úys	            r;   Útest_iswt_mixed_dtypesr  â  s/  € ä�YŠY�r‹]×!Ñ!¤"§*¡*Ó-€FØ˜˜F�Õ"€IØ
€CÜŸJ™J¬¯
©
Ð3ÜŸJ™J¬¯
©
Ð3ÜŸJ™J¬¯
©
Ð3ÜŸM™M¬2¯<©<Ð8ÜŸL™L¬"¯-©-Ð8ó	:‰ˆð ”b—l‘l¤B§M¡MÐ2Ô2ØˆAÜŸ=™=‰LàˆAÜŸ:™:ˆLä—’˜! !Ó$ˆà˜A•Y˜q•\×(Ñ(¨Ó0Ø˜A•Y˜q•\×(Ñ(¨Ó0ð2ˆˆq‰	ä�IŠI�fÓ"ˆÜ�\§7¡7Ô+Ü˜ 4¨d×3ó':r=   c            
      óÈ  € \         P                  P                  ^ 4      p V P                  ^^4      pVRV,          ,           pRp\         P                  \         P
                  3\         P
                  \         P                  3\         P                  \         P                  3\         P                  \         P                  3\         P                  \         P                  33 Fø  w  rEV\         P                  \         P                  39   d   Tp\         P                  pMTp\         P                  p\        P                  ! Wc^4      pV^ ,          ^ ,          P                  V4      \        V^ ,          ^,           U	u. uF  q™P                  V4      NK  	  up	4      .V^ &   \        P                  ! Wƒ4      p
\        WzP                  4       \!        W¦RRR7       Kú  	  R# u up	i )r   rû   rä   rü   r   N)rO   r—   r˜   rí   rý   rþ   rÿ   r   r  r&   r‹   rš   Útupler›   r	   r„   r   )rœ   r  r  r¦   r  r  r,   r  r:   r_   r  s              r;   Útest_iswt2_mixed_dtypesr  ý  sN  € ä�Y‰Y×"Ñ" 1Ó%€FØ�\‰\˜!˜QÓ€FØ˜˜F�Õ"€IØ
€CÜŸJ™J¬¯
©
Ð3ÜŸJ™J¬¯
©
Ð3ÜŸJ™J¬¯
©
Ð3ÜŸM™M¬2¯<©<Ð8ÜŸL™L¬"¯-©-Ð8ó	:‰ˆð ”b—l‘l¤B§M¡MÐ2Ô2ØˆAÜŸ=™=‰LàˆAÜŸ:™:ˆLä—’˜1 1Ó%ˆà˜A•Y˜q•\×(Ñ(¨Ó0Ü°f¸QµiÀ¶lÓC±l°ŸH™H VÖ,±lÑCÓDðFˆˆq‰	ä�JŠJ�vÓ#ˆÜ�\§7¡7Ô+Ü˜ 4¨d×3ó':ùò  Ds   Å<Gc            	      óD  € \         P                  P                  ^ 4      p V P                  ^^^4      pVRV,          ,           pRp\         P                  \         P
                  3\         P
                  \         P                  3\         P                  \         P                  3\         P                  \         P                  3\         P                  \         P                  33 EF3  w  rEV\         P                  \         P                  39   d   Tp\         P                  pMTp\         P                  p\        P                  ! Wc^4      pV^ ,          P                  RVP                  ,          4      p	V	P                  V4      p	V^ ,          P                  4        U
Uu/ uF  w  r«W«P                  V4      bK  	  upp
V^ &   W˜^ ,          RVP                  ,          &   \        P                  ! Wƒ4      p\!        W|P"                  4       \%        WÆRRR7       EK6  	  R# u upp
i )r   rû   rä   Úarü   r   N)rO   r—   r˜   rí   rý   rþ   rÿ   r   r  r&   rÍ   ÚpoprÖ   rš   rÔ   rÓ   r	   r„   r   )rœ   r  r  r¦   r  r  r,   r  r:   r  rÚ   r_   r  s                r;   Útest_iswtn_mixed_dtypesr    sz  € ä�Y‰Y×"Ñ" 1Ó%€FØ�\‰\˜!˜Q Ó"€FØ˜˜F�Õ"€IØ
€CÜŸJ™J¬¯
©
Ð3ÜŸJ™J¬¯
©
Ð3ÜŸJ™J¬¯
©
Ð3ÜŸM™M¬2¯<©<Ð8ÜŸL™L¬"¯-©-Ð8ô	:‰ˆð ”b—l‘l¤B§M¡MÐ2Ô2ØˆAÜŸ=™=‰LàˆAÜŸ:™:ˆLä—’˜1 1Ó%ˆà�1�I�M‰M˜# §¡�,Ó'ˆØ�H‰H�VÓˆØ5;¸AµY·_±_Ô5FÔGÑ5F©T¨Q�QŸ™ Ó(Ò(Ñ5FÒGˆˆq‰	Ø"#ˆq�	�#˜Ÿ™•,ÑÜ�JŠJ�vÓ#ˆÜ�\§7¡7Ô+Ü˜ 4¨d×3Ð3ó+:ùó" Hs   ÆHc            	      óœ  € \         P                  ! \        4      ;_uu_ 4        \        P                  ! . R 4       RRR4       \
        P                  ! R4      R,          p \         P                  ! \        4      ;_uu_ 4        \        P                  ! V R ^RR7       RRR4       R#   + '       g   i     Lt; i  + '       g   i     R# ; i)r    Nrº   )r   r   ):r   r   NrÌ   r¿   )rA   rW   rX   r&   r)   rO   rŠ   rÍ   rª   s    r;   Útest_swt_zero_size_axesr  7  sv   € ä	�Š”z×	"Õ	"Ü�Š��UÔ÷ 
#ô 	�Š�‹˜Õ€AÜ	�Š”z×	"Õ	"Ü�	Š	�!�U !¨$Õ/÷ 
#Ñ	"÷ 
#×	"ú÷
 
#×	"Ð	"ús   £B'ÂB:Â'B7	Â:C	c                 ó¼  € Rp \         P                  P                  ^4      pVP                  R4      p\        P
                  ! W RRR7      pV Uu. uF  p\         P                  ! V4      NK  	  pp\        \         P                  ! V4      \         P                  ! V4      4       \        \         P                  P                  V4      \         P                  P                  \         P                  ! V4      4      4       \        P                  ! \        4      ;_uu_ 4        \        P
                  ! VRRR7       RRR4       R# u upi   + '       g   i     R# ; i)zBVerify that the 1D SWT partitions variance among the coefficients.r    é   Trg   úbior2.2rj   N)rO   r—   r˜   rí   r&   r)   Úvarr   ÚsumÚlinalgri   rR   rA   rB   rC   )r¦   rœ   r,   r:   r_   Ú	variancess         r;   Ú)test_swt_variance_and_energy_preservationr  B  sà   € ð €CÜ�Y‰Y×"Ñ" 1Ó%€FØ�‰�SÓ€AÜ�XŠX�a¨$°TÔ:€FÙ$*Ó+¡F˜q”—’˜–¡F€IÐ+Ü”B—F’F˜9Ó%¤r§v¢v¨a£yÔ1ô ”B—I‘I—N‘N 1Ó%Ü—I‘I—N‘N¤2§>¢>°&Ó#9Ó:ô<ô 
�Š”k×	"Õ	"Ü�Š��I DÕ)÷ 
#Ñ	"ùò ,÷ 
#×	"Ð	"ús   ÁEÄ!E
Å
E	c            	     ób  € Rp \         P                  P                  ^4      pVP                  ^@^@4      p\        P
                  ! W ^RRR7      pV^ ,          P                  4       .pVR,           F+  pV F"  pVP                  VP                  4       4       K$  	  K-  	  V Uu. uF  p\         P                  ! V4      NK  	  pp\        \         P                  ! V4      \         P                  ! V4      4       \        \         P                  P                  V4      \         P                  P                  \         P                  ! V4      4      4       \        P                  ! \         4      ;_uu_ 4        \        P
                  ! VR^RR7       RRR4       R# u upi   + '       g   i     R# ; i)zBVerify that the 2D SWT partitions variance among the coefficients.r    T©r   rh   ri   ºr   NNr  ©r   ri   N)rO   r—   r˜   rí   r&   r‹   ÚravelÚappendr  r   r  r  ri   rR   rA   rB   rC   )r¦   rœ   r,   r:   Ú
coeff_listÚdrÛ   r  s           r;   Ú*test_swt2_variance_and_energy_preservationr"  V  s*  € ð €CÜ�Y‰Y×"Ñ" 1Ó%€FØ�‰�R˜Ó€AÜ�YŠY�q Q°D¸tÔD€FØ˜•)—/‘/Ó#Ð$€JØ�B�ZˆZˆÛˆAØ×Ñ˜aŸg™g›iÖ(ó ñ ñ %/Ó/¡J˜q”—’˜–¡J€IÐ/Ü”B—F’F˜9Ó%¤r§v¢v¨a£yÔ1ô ”B—I‘I—N‘N 1Ó%Ü—I‘I—N‘N¤2§>¢>°*Ó#=Ó>ô@ô 
�Š”k×	"Õ	"Ü�	Š	�!�Y a¨dÕ3÷ 
#Ñ	"ùò 0÷ 
#×	"Ð	"ús   Â"FÅ3FÆF.	c            	     ó‚  € Rp \         P                  P                  ^4      pVP                  ^@^@4      p\        P
                  ! W ^RRR7      pV^ ,          P                  4       .pVR,           F;  pVP                  4        F$  w  rgVP                  VP                  4       4       K&  	  K=  	  V Uu. uF  p\         P                  ! V4      NK  	  pp\        \         P                  ! V4      \         P                  ! V4      4       \        \         P                  P                  V4      \         P                  P                  \         P                  ! V4      4      4       \        P                   ! \"        4      ;_uu_ 4        \        P
                  ! VR^RR7       RRR4       R# u upi   + '       g   i     R# ; i)zBVerify that the nD SWT partitions variance among the coefficients.r    Tr  r  r  r  N)rO   r—   r˜   rí   r&   rÍ   r  rÔ   r  r  r   r  r  ri   rR   rA   rB   rC   )	r¦   rœ   r,   r:   r   r!  rÚ   rÛ   r  s	            r;   Ú*test_swtn_variance_and_energy_preservationr$  n  s2  € ð €CÜ�Y‰Y×"Ñ" 1Ó%€FØ�‰�R˜Ó€AÜ�YŠY�q Q°D¸tÔD€FØ˜•)—/‘/Ó#Ð$€JØ�B�ZˆZˆØ—G‘G–I‰DˆAØ×Ñ˜aŸg™g›iÖ(ó ñ ñ %/Ó/¡J˜q”—’˜–¡J€IÐ/Ü”B—F’F˜9Ó%¤r§v¢v¨a£yÔ1ô ”B—I‘I—N‘N 1Ó%Ü—I‘I—N‘N¤2§>¢>°*Ó#=Ó>ô@ô 
�Š”k×	"Õ	"Ü�	Š	�!�Y a¨dÕ3÷ 
#Ñ	"ùò 0÷ 
#×	"Ð	"ús   Â2F(ÆF-Æ-F>	c                  óÀ  € ^\         P                  \         P                  R3^\         P                  \         P                  R3^\         P
                  \         P                  R33 Ft  w  rr#\        P                  ! R	V ,          4      pV! VR^RR7      p\         P                  ! V4      w  rgp\         P                  ! WgWƒR7      pV! VR4      p	\        WI4       Kv  	  R# )
r   r)   r‹   rÍ   rä   T)r   rh   )Úoutput_formatN)r¢   )r&   r)   rx   r‹   r›   rÍ   rÓ   rO   rŠ   Úravel_coeffsÚunravel_coeffsr   )
rÖ   Ú_swtÚ_iswtÚ
ravel_typer,   r_   ÚarrÚslicesÚshapesré   s
             r;   Útest_swt_ravel_and_unravelr/  †  s°   € ð ”—‘œ$Ÿ)™) UÐ+Ø”—	‘	œ4Ÿ:™: vÐ.Ø”—	‘	œ4Ÿ:™: vÐ.ó*0Ñ%ˆ�Eô �GŠG�F˜T•MÓ"ˆÙ��F !°Ô6ˆÜ"×/Ò/°Ó2Ñˆ�VÜ×Ò ¨VÔNˆÙ�!�VÓˆÜ˜Öó*0r=   )N)8rD   Úcopyr   Ú	itertoolsr   r   ÚnumpyrO   rA   Únumpy.testingr   r   r   r	   r&   Úpywt._extensions._swtr
   Úint8rÿ   rþ   rý   r  r   rˆ   r‰   rµ   r(   r<   rH   ra   r�   r”   rž   r¨   r«   ÚmarkÚslowr­   r°   r·   rÆ   rÐ   rÜ   rÞ   râ   rê   rò   rù   r  r  r  r  r  r"  r$  r/  rG   r=   r;   Ú<module>r8     sT  ðó Ý ß 0ã Û ÷ó ó Ý *ð �W‰W�b—j‘j "§*¡*¨b¯j©j¸"¿,¹,Ø�]‰]ð€	à�j‰j˜"Ÿ*™* b§j¡j°"·*±*¸b¿l¹lØ�m‰mð€
ð €
Ø€
ò+ò@.ò 6*òr<òB#ò$5ò$Cò&ð ‡�×Ñó <ó ð <òF4ô@ò5òB&MðR ‡�×Ñó+5ó ð+5ò\4ò)ò*6òMò>+ò4ò64ò84ò<0ò*ò(4ò04ô0r=   