+
    [°³jC  ã                   óØ   € ^ RI t^ RIHtHtHtHt ^ RIt]P                  ]P                  ]P                  ]P                  .t]P                  ]P                  .tR tR tR tR tR tR# )é    N)Úassert_Úassert_allcloseÚassert_equalÚassert_raisesc                 ó<   € V \         P                  ! V 4      ,          # )N)ÚnpÚabs)Úxs   &Ú]/home/luca/screen-checking/.venv/lib/python3.14/site-packages/pywt/tests/test_thresholding.pyÚ_signr   
   s   € àŒr�vŠv�a‹y�=Ðó    c                ó†   € \        V 4      \        P                  ! \        P                  ! V 4      V,
          ^ 4      ,          # )zdsoft thresholding supporting complex values.

Notes
-----
This version is not robust to zeros in x.
)r   r   Úmaximumr	   )r
   Úthreshs   &&r   Ú_softr      s+   € ô �‹8”b—j’j¤§¢¨£¨VÕ!3°QÓ7Õ7Ð7r   c            	      ó†  € \         P                  ! ^^^4      p . ROp\        \        P                  ! V ^R4      \         P
                  ! V4      RR7       \        \        P                  ! V ) ^R4      \         P
                  ! V4      ) RR7       \        \        P                  ! ^^..^,          ^R4      ^ ^..^,          RR7       \        \        P                  ! ^^..^,          ^R4      ^ ^ ..^,          RR7       \        \        P                  ! RR..^,          ^R4      RR..^,          RR7       \        \        P                  ! RR..^,          ^R4      ^ ^ ..^,          RR7       RR..^,          pR F/  p\        \        P                  ! W#R4      \        W#4      RR7       K1  	  ^p\        \        P                  ! R^..^,          RRVR	7      VR..^,          RR7       \        \        P                  ! \         P                  ! ^4      ^R4      \         P                  ! ^4      RR7       . ROp\        \        P                  ! V ^R
4      \         P
                  ! V4      RR7       \        \        P                  ! V ) ^R
4      \         P
                  ! V4      ) RR7       \        \        P                  ! ^^..^,          ^R
4      ^^..^,          RR7       \        \        P                  ! ^^..^,          ^R
4      ^ ^..^,          RR7       \        \        P                  ! ^^..^,          ^R
VR	7      V^..^,          RR7       \        \        P                  ! RR..^,          ^R
4      ^ R..^,          RR7       . ROp\        \        P                  ! V ^R4      \         P
                  ! V4      RR7       \        \        P                  ! ^^..^,          ^R4      ^^..^,          RR7       \        \        P                  ! ^^..^,          ^R4      ^ ^..^,          RR7       \        \        P                  ! ^^..^,          ^RVR	7      V^..^,          RR7       \        \        \        P                  RR.^R4       \        \        P                  ! V ^R4      \         P
                  ! . RO4      RR7       \        \        P                  ! ^^..^,          ^R4      ^^ ..^,          RR7       \        \        P                  ! ^^..^,          ^RVR	7      ^V..^,          RR7       \        \        P                  ! ^^..^,          ^R4      ^^..^,          RR7       \        \        \        P                  RR.^R4       \        \        \        P                  V ^R4       R# )é   ç      à?ç      ø?Úsoftgê-�™—q=)Úrtoly              ð?y               @y                )Ú
substituteÚhardÚgreaterÚlessÚfooN)ç        r   r   r   ç      ð?r   ç       @y      ð?      ð?y       @       @y      ð?       @)r   é   )r   r   r   g      @g      @g      @g      @)r   r   r   r   r   r   r   )
r   Úlinspacer   ÚpywtÚ	thresholdÚarrayr   Úzerosr   Ú
ValueError)ÚdataÚsoft_resultÚcomplex_datar   ÚsÚhard_resultÚgreater_results          r   Útest_thresholdr-      sª  € Ü�;Š;�q˜!˜QÓ€Dò 1€KÜ”D—N’N 4¨¨FÓ3Ü—H’H˜[Ó)°õ7ä”D—N’N D 5¨!¨VÓ4Ü—X’X˜kÓ*Ð*°õ8ä”D—N’N Q¨ F 8¨a¥<°°FÓ;Ø˜�V�H˜q•L uõ.ä”D—N’N Q¨ F 8¨a¥<°°FÓ;Ø˜�V�H˜q•L uõ.ô ”D—N’N R¨ H :°¥>°1°fÓ=Ø˜"�X�J •N¨õ0ä”D—N’N T¨4 L >°AÕ#5°q¸&ÓAØ˜�V�H˜q•L uõ.à˜4�L�> !Õ#€LÛˆÜœŸš |¸VÓDÜ˜lÓ3¸%÷	Añ ð
 	
€AÜ”D—N’N R¨ G 9¨q¥=°#°vÈ!ÔLØ˜�X�J •N¨õ0ô ”D—N’N¤2§8¢8¨B£<°°FÓ;Ü—H’H˜R“L uõ.ò 1€KÜ”D—N’N 4¨¨FÓ3Ü—H’H˜[Ó)°õ7ä”D—N’N D 5¨!¨VÓ4Ü—X’X˜kÓ*Ð*°õ8ä”D—N’N Q¨ F 8¨a¥<°°FÓ;Ø˜�V�H˜q•L uõ.ä”D—N’N Q¨ F 8¨a¥<°°FÓ;Ø˜�V�H˜q•L uõ.ä”D—N’N Q¨ F 8¨a¥<°°FÀqÔIØ˜�V�H˜q•L uõ.ä”D—N’N T¨4 L >°AÕ#5°q¸&ÓAØ˜�Y�K !•O¨%õ1ò 4€NÜ”D—N’N 4¨¨IÓ6Ü—H’H˜^Ó,°5õ:ä”D—N’N Q¨ F 8¨a¥<°°IÓ>Ø˜�V�H˜q•L uõ.ä”D—N’N Q¨ F 8¨a¥<°°IÓ>Ø˜�V�H˜q•L uõ.ä”D—N’N Q¨ F 8¨a¥<°°IÈ!ÔLØ˜�V�H˜q•L uõ.ô ”*œdŸn™n¨r°2¨h¸¸9ÔEô ”D—N’N 4¨¨FÓ3Ü—H’HÒ:Ó;À%õIä”D—N’N Q¨ F 8¨a¥<°°FÓ;Ø˜�V�H˜q•L uõ.ä”D—N’N Q¨ F 8¨a¥<°°FÀqÔIØ˜�V�H˜q•L uõ.ä”D—N’N Q¨ F 8¨a¥<°°FÓ;Ø˜�V�H˜q•L uõ.ô ”*œdŸn™n¨r°2¨h¸¸6ÔBô ”*œdŸn™n¨d°A°uÖ=r   c            
      óR  € R p \         P                  ! R^^d4      p\         EF  pV\        9   d   \         P                  ! WR7      pM\         P                  ! VR,           VR7      p\
        P                  ! W0R4      p\
        P                  ! W0R4      p\
        P                  ! W0R4      p\        VP                  VP                  4       \        VP                  VP                  4       \        VP                  VP                  4       \         P                  ! \         P                  ! V4      V 8  4      p\        \         P                  ! Wg,          ^ 8H  4      4       \         P                  ! \         P                  ! V4      V 8„  4      p\         P                  ! Wh,          4      p	\        \         P                  ! V	\         P                  ! WH,          4      8  4      4       \        \         P                  ! V	\         P                  ! WX,          4      8„  4      4       EK  	  R# )g333333Ó?©Údtypeù        š™™™™™¹?r   r   ÚgarotteNéÿÿÿÿ)r   r!   Úfloat_dtypesÚreal_dtypesÚasarrayr"   r#   r   r0   Úwherer	   r   Úall)
r   Ú	data_realr0   r'   Úd_hardÚd_softÚ	d_garotteÚltÚgtÚgt_abs_garottes
             r   Útest_nonnegative_garotter@   g   s\  € Ø€FÜ—’˜B  3Ó'€Iß�ˆØ”KÔÜ—:’:˜iÔ5‰Dä—:’:˜i¨$Õ.°eÔ<ˆDÜ—’ ¨fÓ5ˆÜ—’ ¨fÓ5ˆÜ—N’N 4°Ó;ˆ	ô 	�V—\‘\ 4§:¡:Ô.Ü�V—\‘\ 4§:¡:Ô.Ü�Y—_‘_ d§j¡jÔ1ô �XŠX”b—f’f˜T“l VÑ+Ó,ˆÜ”—’�y•}¨Ñ)Ó*Ô+ô �XŠX”b—f’f˜T“l VÑ+Ó,ˆÜŸš 	¥Ó.ˆÜ”—’�~¬¯ª¨v­zÓ(:Ñ:Ó;Ô<Ü”—’�~¬¯ª¨v­zÓ(:Ñ:Ó;×<ó- r   c            
      óú  € R p ^V ,          p\         P                  ! R	^^d4      p\         EFÌ  pV\        9   d   \         P                  ! W#R7      pM\         P                  ! VR,           VR7      pVP
                  P                  \         P                  8X  d   R;rVMR;rV\        P                  ! W@R4      p\        P                  ! W@R4      p\        P                  ! W@V4      p	\        VP                  VP                  4       \        VP                  VP                  4       \        V	P                  VP                  4       \         P                  ! \         P                  ! V4      V 8  4      p
\        \         P                  ! Wš,          ^ 8H  4      4       \         P                  ! \         P                  ! V4      V8¬  4      p\!        \         P                  ! W{,          4      \         P                  ! W›,          4      WVR7       \         P                  ! \         P"                  ! \         P                  ! V4      V 8„  \         P                  ! V4      V8  4      4      p\         P                  ! Wœ,          4      p\        \         P                  ! V\         P                  ! W|,          4      8  4      4       \        \         P                  ! V\         P                  ! WŒ,          4      8„  4      4       EKÏ  	  R# )
gš™™™™™É?r/   r1   g�íµ ÷Æ°>g›+¡†›„=r   r   )r   ÚatolNr3   )r   r!   r4   r5   r6   Úrealr0   Úfloat32r"   r#   Úthreshold_firmr   r7   r	   r   r8   r   Úlogical_and)r   Úthresh2r9   r0   r'   r   rB   r:   r;   Úd_firmr=   r>   ÚmtÚmt_abs_firms                 r   Útest_threshold_firmrK   ƒ   sì  € Ø€FØ�&�j€GÜ—’˜B  3Ó'€Iß�ˆØ”KÔÜ—:’:˜iÔ5‰Dä—:’:˜i¨$Õ.°eÔ<ˆDØ�9‰9�?‰?œbŸj™jÔ(ØÐˆD�4àÐˆDÜ—’ ¨fÓ5ˆÜ—’ ¨fÓ5ˆÜ×$Ò$ T°7Ó;ˆô 	�V—\‘\ 4§:¡:Ô.Ü�V—\‘\ 4§:¡:Ô.Ü�V—\‘\ 4§:¡:Ô.ô �XŠX”b—f’f˜T“l VÑ+Ó,ˆÜ”—’�v•z Q‘Ó'Ô(ô �XŠX”b—f’f˜T“l gÑ-Ó.ˆÜœŸš˜v�zÓ*¬B¯FªF°6µ:Ó,>Ø!õ	.ô �XŠX”b—n’n¤R§V¢V¨D£\°FÑ%:Ü%'§V¢V¨D£\°GÑ%;ó=ó >ˆä—f’f˜V�ZÓ(ˆÜ”—’�{¤R§V¢V¨F­JÓ%7Ñ7Ó8Ô9Ü”—’�{¤R§V¢V¨F­JÓ%7Ñ7Ó8×9óA r   )Únumpyr   Únumpy.testingr   r   r   r   r"   rD   Úfloat64Ú	complex64Ú
complex128r4   r5   r   r   r-   r@   rK   © r   r   Ú<module>rR      s\   ðÛ ß OÓ Oã à—
‘
˜BŸJ™J¨¯©°b·m±mÐD€Ø�z‰z˜2Ÿ:™:Ð&€òò
8òK>ò\=ô8$:r   