Ë
    óÿæi  ã                   ój   — d Z ddl­ ddl­ d„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd	„ Z	d
„ Z
d„ Zd„ Zd„ Zd„ Zd„ Zy)z+
Test bit-level integer and mpf operations
é    )Ú*c                  óÖ   — t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        ddz  «      d	k(  sJ ‚t        ddz  dz
  «      dk(  sJ ‚y )
Nr   é   é   é   é   é   é   éd   ée   )Úbitcount© ó    ún/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/mpmath/tests/test_bitwise.pyÚtest_bitcountr      s|   € Ü�A‹;˜!ÒÐÐÜ�A‹;˜!ÒÐÐÜ�A‹;˜!ÒÐÐÜ�A‹;˜!ÒÐÐÜ�A�s‘FÓ˜sÒ"Ð"Ð"Ü�A�s‘F˜1‘HÓ Ò$Ð$Ñ$r   c                  óö   — t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        d«      dk(  sJ ‚t        ddz  «      dk(  sJ ‚t        ddz  dz
  «      dk(  sJ ‚y )Nr   r   r
   r   r   r   r   )Útrailingr   r   r   Útest_trailingr      sŽ   € Ü�A‹;˜!ÒÐÐÜ�A‹;˜!ÒÐÐÜ�A‹;˜!ÒÐÐÜ�A‹;˜!ÒÐÐÜ�A‹;˜!ÒÐÐÜ�A�s‘FÓ˜sÒ"Ð"Ð"Ü�A�s‘F˜1‘HÓ Ò"Ð"Ñ"r   c                  óp  — t        dddt        «      d d dk(  sJ ‚t        dddt        «      d d dk(  sJ ‚t        dddt        «      d d dk(  sJ ‚t        d	ddt        «      d d dk(  sJ ‚t        d
ddt        «      d d dk(  sJ ‚t        dddt        «      d d dk(  sJ ‚t        dddt        «      d d dk(  sJ ‚y )Nr   éüÿÿÿr	   r   ©r   r   r   éð   ©r   é   r   éñ   éÿ   éÿÿÿ©r   r   r   éÿÿÿéÿÿÿ)Úfrom_man_expÚ
round_downr   r   r   Útest_round_downr#      sâ   € Ü˜˜2˜q¤*Ó-¨b¨qÐ1°YÒ>Ð>Ð>Ü˜˜b !¤ZÓ0°°!Ð4¸
ÒBÐBÐBÜ˜˜b !¤ZÓ0°°!Ð4¸
ÒBÐBÐBÜ˜˜b !¤ZÓ0°°!Ð4¸
ÒBÐBÐBÜ˜˜r 1¤jÓ1°"°1Ð5¸ÒCÐCÐCÜ˜˜r 1¤jÓ1°"°1Ð5¸ÒCÐCÐCÜ˜˜r 1¤jÓ1°"°1Ð5¸ÒCÐCÑCr   c                  óp  — t        dddt        «      d d dk(  sJ ‚t        dddt        «      d d dk(  sJ ‚t        dddt        «      d d d	k(  sJ ‚t        d
ddt        «      d d d	k(  sJ ‚t        dddt        «      d d dk(  sJ ‚t        dddt        «      d d dk(  sJ ‚t        dddt        «      d d dk(  sJ ‚y )Nr   r   r	   r   r   r   r   r   ©r   r   r	   r   r   r   r   ©r   r   r	   r    )r!   Úround_upr   r   r   Útest_round_upr(   "   sâ   € Ü˜˜2˜q¤(Ó+¨B¨QÐ/°9Ò<Ð<Ð<Ü˜˜b !¤XÓ.¨r°Ð2°jÒ@Ð@Ð@Ü˜˜b !¤XÓ.¨r°Ð2°iÒ?Ð?Ð?Ü˜˜b !¤XÓ.¨r°Ð2°iÒ?Ð?Ð?Ü˜˜r 1¤hÓ/°°Ð3°zÒAÐAÐAÜ˜˜r 1¤hÓ/°°Ð3°yÒ@Ð@Ð@Ü˜˜r 1¤hÓ/°°Ð3°yÒ@Ð@Ñ@r   c                  óp  — t        dddt        «      d d dk(  sJ ‚t        dddt        «      d d dk(  sJ ‚t        dddt        «      d d dk(  sJ ‚t        d	ddt        «      d d dk(  sJ ‚t        d
ddt        «      d d dk(  sJ ‚t        dddt        «      d d dk(  sJ ‚t        dddt        «      d d dk(  sJ ‚y )Nr   r   r	   r   r   r   r   r   r   r   r   r   r&   r    )r!   Úround_floorr   r   r   Útest_round_floorr+   +   sâ   € Ü˜˜2˜q¤+Ó.¨r°Ð2°iÒ?Ð?Ð?Ü˜˜b !¤[Ó1°"°1Ð5¸ÒCÐCÐCÜ˜˜b !¤[Ó1°"°1Ð5¸ÒCÐCÐCÜ˜˜b !¤[Ó1°"°1Ð5¸ÒCÐCÐCÜ˜˜r 1¤kÓ2°2°AÐ6¸*ÒDÐDÐDÜ˜˜r 1¤kÓ2°2°AÐ6¸)ÒCÐCÐCÜ˜˜r 1¤kÓ2°2°AÐ6¸)ÒCÐCÑCr   c                  óp  — t        dddt        «      d d dk(  sJ ‚t        dddt        «      d d dk(  sJ ‚t        dddt        «      d d d	k(  sJ ‚t        d
ddt        «      d d d	k(  sJ ‚t        dddt        «      d d dk(  sJ ‚t        dddt        «      d d dk(  sJ ‚t        dddt        «      d d dk(  sJ ‚y )Nr   r   r	   r   r   r   r   r   r%   r   r   r   r   r    )r!   Úround_ceilingr   r   r   Útest_round_ceilingr.   4   sâ   € Ü˜˜2˜q¤-Ó0°°!Ð4¸	ÒAÐAÐAÜ˜˜b !¤]Ó3°B°QÐ7¸:ÒEÐEÐEÜ˜˜b !¤]Ó3°B°QÐ7¸9ÒDÐDÐDÜ˜˜b !¤]Ó3°B°QÐ7¸9ÒDÐDÐDÜ˜˜r 1¤mÓ4°R°aÐ8¸JÒFÐFÐFÜ˜˜r 1¤mÓ4°R°aÐ8¸JÒFÐFÐFÜ˜˜r 1¤mÓ4°R°aÐ8¸JÒFÐFÑFr   c                  ó¨  — t        dddt        «      d d dk(  sJ ‚t        dddt        «      d d dk(  sJ ‚t        dddt        «      d d dk(  sJ ‚t        d	ddt        «      d d d
k(  sJ ‚t        dddt        «      d d d
k(  sJ ‚t        dddt        «      d d dk(  sJ ‚t        dddt        «      d d dk(  sJ ‚t        dddt        «      d d dk(  sJ ‚t        dddt        «      d d dk(  sJ ‚t        dddt        «      d d dk(  sJ ‚t        dddt        «      d d dk(  sJ ‚t        dddt        «      d d dk(  sJ ‚t        dddt        «      d d dk(  sJ ‚y )Nr   r   r	   r   r   r   r   é÷   éø   r%   éù   éè   )r   r   r   éé   r   r   i	ÿÿÿiÿÿÿr&   iÿÿÿiÿÿÿ)r   r   r   iÿÿÿ)r!   Úround_nearestr   r   r   Útest_round_nearestr6   =   s¢  € Ü˜˜2˜q¤-Ó0°°!Ð4¸	ÒAÐAÐAÜ˜˜b !¤]Ó3°B°QÐ7¸:ÒEÐEÐEÜ˜˜b !¤]Ó3°B°QÐ7¸:ÒEÐEÐEÜ˜˜b !¤]Ó3°B°QÐ7¸9ÒDÐDÐDÜ˜˜b !¤]Ó3°B°QÐ7¸9ÒDÐDÐDÜ˜˜b !¤]Ó3°B°QÐ7¸9ÒDÐDÐDÜ˜˜b !¤]Ó3°B°QÐ7¸:ÒEÐEÐEÜ˜˜r 1¤mÓ4°R°aÐ8¸JÒFÐFÐFÜ˜˜r 1¤mÓ4°R°aÐ8¸JÒFÐFÐFÜ˜˜r 1¤mÓ4°R°aÐ8¸IÒEÐEÐEÜ˜˜r 1¤mÓ4°R°aÐ8¸IÒEÐEÐEÜ˜˜r 1¤mÓ4°R°aÐ8¸IÒEÐEÐEÜ˜˜r 1¤mÓ4°R°aÐ8¸JÒFÐFÑFr   c                  ó  — t        dddt        «      dk(  sJ ‚t        dddt        «      dk(  sJ ‚t        dd	d
t        «      dk(  sJ ‚t        dd	d
t        «      dk(  sJ ‚t        dd	dt        «      dk(  sJ ‚t        dd	dt        «      dk(  sJ ‚y )Nl   ÿÿÿÿiÈÿÿÿé5   )r   r   r   r   l   ~ÿÿÿ? i¿ÿÿÿ)r   r   r   r   é   r   r	   )r   r   é   r   iáÿÿÿ)r   r   r:   r   r   r   )r   r   r   r   r    )r   r   r   r   )r!   r'   r5   r*   r   r   r   Útest_rounding_bugsr;   L   sš   € äÐ)¨3°´HÓ=ÀÒMÐMÐMÜÐ,¨c°2´}ÓEÈÒUÐUÐUÜ˜˜A˜q¤(Ó+¨|Ò;Ð;Ð;Ü˜˜Q ¤;Ó/°<Ò?Ð?Ð?Ü˜˜Q ¤8Ó,°Ò<Ð<Ð<Ü˜˜a ¤KÓ0°LÒ@Ð@Ñ@r   c                  óè   — t        dd«      } t        dd«      }t        dd«      }d}t        | |dd«      |k(  sJ ‚t        ||dd«      |k(  sJ ‚t        || dd«      |k(  sJ ‚t        ||dd«      |k(  sJ ‚y )	Ni‹&  iœÿÿÿi8ÿÿÿéÿÿÿÿr   )r   iÿ  iöÿÿÿé
   r>   Úd)r!   Úmpf_add)ÚaÚbÚcÚzs       r   Útest_rounding_issue_200rE   U   s�   € Ü�T˜$Ó€AÜ�T˜$Ó€AÜ�R˜Ó€AØ€AÜ�1�a˜˜SÓ! QÒ&Ð&Ð&Ü�1�a˜˜SÓ! QÒ&Ð&Ð&Ü�1�a˜˜SÓ! QÒ&Ð&Ð&Ü�1�a˜˜SÓ! QÒ&Ð&Ñ&r   c                  ó  — t         } t        d«      }t        d«      }t        | ddt        «      | k(  sJ ‚t        | ddt        «      | k(  sJ ‚t        | ddt        «      |k(  sJ ‚t        | ddt
        «      |k(  sJ ‚t        | ddt        «      | k(  sJ ‚t        | ddt        «      | k(  sJ ‚t        | ddt        «      | k(  sJ ‚t        | ddt
        «      | k(  sJ ‚t        | ddt        «      |k(  sJ ‚t        | ddt        «      |k(  sJ ‚t        | «      } t        |«      }t        |«      }t        | ddt        «      | k(  sJ ‚t        | ddt        «      | k(  sJ ‚t        | ddt        «      | k(  sJ ‚t        | ddt        «      | k(  sJ ‚t        | ddt        «      |k(  sJ ‚t        | ddt
        «      |k(  sJ ‚t        | ddt        «      |k(  sJ ‚t        | ddt        «      |k(  sJ ‚t        | ddt        «      | k(  sJ ‚t        | ddt
        «      | k(  sJ ‚y )Ngÿÿÿÿÿÿï?g     ð?r   r8   r   )	ÚfoneÚ
from_floatÚmpf_perturbr5   r'   r-   r"   r*   Úmpf_neg)rA   rB   rC   s      r   Útest_perturbrK   _   s,  € Ü€AÜÐ&Ó'€AÜÐ%Ó&€AÜ�q˜!˜R¤Ó/°1Ò4Ð4Ð4Ü�q˜!˜R¤Ó/°1Ò4Ð4Ð4Ü�q˜!˜R¤Ó*¨aÒ/Ð/Ð/Ü�q˜!˜R¤Ó/°1Ò4Ð4Ð4Ü�q˜!˜R¤Ó,°Ò1Ð1Ð1Ü�q˜!˜R¤Ó-°Ò2Ð2Ð2Ü�q˜!˜R¤Ó*¨aÒ/Ð/Ð/Ü�q˜!˜R¤Ó/°1Ò4Ð4Ð4Ü�q˜!˜R¤Ó,°Ò1Ð1Ð1Ü�q˜!˜R¤Ó-°Ò2Ð2Ð2Ü�‹
€AÜ�‹
€AÜ�‹
€AÜ�q˜!˜R¤Ó/°1Ò4Ð4Ð4Ü�q˜!˜R¤Ó/°1Ò4Ð4Ð4Ü�q˜!˜R¤Ó*¨aÒ/Ð/Ð/Ü�q˜!˜R¤Ó-°Ò2Ð2Ð2Ü�q˜!˜R¤Ó,°Ò1Ð1Ð1Ü�q˜!˜R¤Ó/°1Ò4Ð4Ð4Ü�q˜!˜R¤Ó*¨aÒ/Ð/Ð/Ü�q˜!˜R¤Ó-°Ò2Ð2Ð2Ü�q˜!˜R¤Ó,°Ò1Ð1Ð1Ü�q˜!˜R¤Ó/°1Ò4Ð4Ñ4r   c                  óN  — t         } t         | d«       | d«      «       | d«      k(  sJ ‚t         | d«       | d«      «       | d«      k(  sJ ‚t         | d«       | d«      «       | d«      k(  sJ ‚t         | d«       | d«      «       | d«      k(  sJ ‚t        t        t         | d	«      «      t        «       | d	«      k(  sJ ‚t        t         | d	«      t        «      t        «       | d	«      k(  sJ ‚t        t        t         | d
«      «      t        «       | d
«      k(  sJ ‚t        t         | d
«      t        «      t        «       | d
«      k(  sJ ‚t        t        t        «      t        k(  sJ ‚t        t        t        «      t        k(  sJ ‚t        t        t        «      t        k(  sJ ‚y )Ng      @g      @g      @g      Àg      à?g      Àg      à¿g      Àg0Žä.ÿ++g0Žä.ÿ+«)rH   r@   Úmpf_subrG   Úfzero)Úffs    r   Útest_add_exactrP   {   sZ  € Ü	€BÜ‘2�c“7™B˜s›GÓ$©¨3«Ò/Ð/Ð/Ü‘2�c“7™B˜t›HÓ%©¨C«Ò0Ð0Ð0Ü‘2�d“8™R ›WÓ%©¨D«Ò1Ð1Ð1Ü‘2�d“8™R ›XÓ&©"¨T«(Ò2Ð2Ð2Ü”7œ4¡ F£Ó,¬dÓ3±r¸&³zÒAÐAÐAÜ”7™2˜f›:¤tÓ,¬dÓ3±r¸&³zÒAÐAÐAÜ”7œ4¡ G£Ó-¬tÓ4¹¸7»ÒCÐCÐCÜ”7™2˜g›;¬Ó-¬tÓ4¹¸7»ÒCÐCÐCÜ”4œÓ¤4Ò'Ð'Ð'Ü”5œ$Ó¤4Ò'Ð'Ð'Ü”5œ%Ó ¤EÒ)Ð)Ñ)r   c                  ó   — dt         _        t        d«      } dD �]b  }t        dd|dz
  z  «      }t        dd|z  «      }t        dd|dz   z  «      }t        dd|dz
  z   «      }t        dd|z   «      }t        dd|dz   z   «      }| |z   |k(  sJ ‚| |z   |k(  sJ ‚| |z   |k(  sJ ‚| |z   | k(  sJ ‚| |z   | k(  sJ ‚| |z   | k(  sJ ‚|| z   |k(  sJ ‚|| z   |k(  sJ ‚|| z   |k(  sJ ‚|| z   | k(  sJ ‚|| z   | k(  sJ ‚|| z   | k(  sJ ‚| |z
  | k(  sJ ‚| |z
  | k(  sJ ‚| |z
  | k(  sJ ‚| |z
  | k(  sJ ‚| |z
  | k(  sJ ‚| |z
  | k(  sJ ‚|| z
  |k(  sJ ‚|| z
  |k(  sJ ‚|| z
  |k(  sJ ‚|| z
  |  k(  sJ ‚|| z
  |  k(  sJ ‚|| z
  |  k(  r�ŒcJ ‚ y )Nr   r   )é    é@   r
   )ÚmpÚdpsÚmpfÚldexp)ÚxÚprA   rB   rC   r?   ÚeÚfs           r   Útest_long_exponent_shiftsr\   ‰   s  € Ø„B„Fô 	ˆA‹€AÜˆÜ�!�A˜˜!™‘HÓˆÜ�!�A�q‘D‹MˆÜ�!�A˜˜!™‘HÓˆÜ�!�Q˜˜1™‘X�IÓˆÜ�!�Q˜‘T�E‹NˆÜ�!�Q˜˜1™‘X�IÓˆØ�!‘˜ŠzÐˆzØ�!‘˜ŠzÐˆzØ�!‘˜ŠzÐˆzØ�!‘˜ŠzÐˆzØ�!‘˜ŠzÐˆzØ�!‘˜ŠzÐˆzØ�!‘˜ŠzÐˆzØ�!‘˜ŠzÐˆzØ�!‘˜ŠzÐˆzØ�!‘˜ŠzÐˆzØ�!‘˜ŠzÐˆzØ�!‘˜ŠzÐˆzØ�!‘˜˜Š{Ðˆ{Ø�!‘˜˜Š{Ðˆ{Ø�!‘˜˜Š{Ðˆ{Ø�!‘˜ŠzÐˆzØ�!‘˜ŠzÐˆzØ�!‘˜ŠzÐˆzØ�!‘˜ŠzÐˆzØ�!‘˜ŠzÐˆzØ�!‘˜ŠzÐˆzØ�!‘˜˜Š{Ðˆ{Ø�!‘˜˜Š{Ðˆ{Ø�!‘˜˜Œ{Ðˆ{ñ= r   c            
      ó0  — dt         _        t        d«      t        d«      t        z   t        d«      t        z
  t        d«       t        z   t        d«       t        z
  fD ]«  } t	        | «      }t	        t        | ddd¬«      «      }||k(  sJ ‚t        | | «      }t        |«      }t        t        |ddd¬«      «      }||k(  sJ ‚dD ]D  }t        | j                  |¬«      }t        t        | dd|¬«      j                  |¬«      }||k(  rŒDJ ‚ Œ­ dt         _        y )	NrS   r   r   r8   Ún)ÚprecÚrounding)r^   r?   Úur[   rC   )Úrnd)
rT   r_   rV   ÚepsÚfloatÚfaddÚmpcÚcomplexÚto_floatÚ_mpf_)rX   ÚfaÚfbrD   ÚcaÚcbrb   s          r   Útest_float_roundingrn   ®   sï   € Ø„B„GÜ�!‹f”c˜!“fœS‘j¤# a£&¬¡*¬s°1«v¨g´c©k¼CÀ»F¸7Ä3¹;ÓGˆÜ�1‹XˆÜ”4˜˜! ¨SÔ1Ó2ˆØ�RŠxˆˆxÜ��!‹HˆÜ�Q‹ZˆÜ”T˜!˜A 2¨sÔ3Ó4ˆØ�RŠxˆˆxÛ,ˆCÜ˜!Ÿ'™' sÔ+ˆBÜœ$˜q ¨°CÔ8×>Ñ>ÀCÔHˆBØ˜“8ˆO�8ñ -ð Hð „B…Gr   N)Ú__doc__ÚmpmathÚmpmath.libmpr   r   r#   r(   r+   r.   r6   r;   rE   rK   rP   r\   rn   r   r   r   Ú<module>rr      sZ   ðñô Ü ò%ò#òDòAòDòGòGòAò'ò5ò8*ò#óJr   