§
    1@Äjì  ã                   ót   — d Z ddlmZmZ ddlmZ ddlmZ ed„ ¦   «         Zed„ ¦   «         Z	ed„ ¦   «         Z
dS )	z? This module provides the unsafe things for targets/numbers.py
é    )ÚtypesÚerrors)Ú	intrinsic)Úirc                 ó^  ‡— |j         }t          |j        t          j        ¦  «        rt          j        |¦  «        ŠnVt          |j        t          j        ¦  «        r-|dk    rt          j        ¦   «         nt          j	        ¦   «         Šn
J d¦   «         ‚ˆfd„}|j        } |||¦  «        }||fS )z4 Bitcast a scalar 'val' to the given type 'viewty'. é    r   Úunreachablec                 ó@   •— |d         }|                      |‰¦  «        S )Nr   )Úbitcast)ÚcgctxÚbuilderÚtypÚargsÚfltÚ	bitcasttys        €úMC:\Projects\Historical\venv\Lib\site-packages\numba/cpython/unsafe/numbers.pyÚcodegenzviewer.<locals>.codegen   s    ø€ Ø�1ŒgˆØ�Š˜s IÑ.Ô.Ð.ó    )
ÚbitwidthÚ
isinstanceÚdtyper   ÚIntegerr   ÚIntTypeÚFloatÚ	FloatTypeÚ
DoubleType)ÚtyctxÚvalÚviewtyÚbitsr   ÚrettyÚsigr   s          @r   Úviewerr#   	   s²   ø€ ð Œ<€DÝ�&”,¥¤Ñ.Ô.ð  Ý”J˜tÑ$Ô$ˆ	ˆ	Ý	�F”L¥%¤+Ñ	.Ô	.ð  Ø&*¨b¢j j•B”L‘N”N�Nµb´m±o´oˆ	ˆ	à�-ÑÔˆqð/ð /ð /ð /ð /ð ŒL€EØ
ˆ%��VÑ
Ô
€CØ�ˆ<Ðr   c                 óŠ   — t          |t          j        ¦  «        sd|› d�}t          j        |¦  «        ‚d„ } ||¦  «        |fS )zACounts trailing zeros in the binary representation of an integer.zCtrailing_zeros is only defined for integers, but value passed was 'ú'.c                 ó€   — |\  }|                      |t          j        t          j        d¦  «        d¦  «        ¦  «        S ©Né   r   )Úcttzr   ÚConstantr   ©Úcontextr   Ú	signaturer   Úsrcs        r   r   ztrailing_zeros.<locals>.codegen$   ó1   € Ø‰ˆØ�|Š|˜C¥¤­R¬Z¸©]¬]¸AÑ!>Ô!>Ñ?Ô?Ð?r   ©r   r   r   r   ÚNumbaTypeError©Ú
typeingctxr.   Úmsgr   s       r   Útrailing_zerosr5      ói   € õ �c�5œ=Ñ)Ô)ð )ðØðð ð ˆåÔ# CÑ(Ô(Ð(ð@ð @ð @ð ˆ3ˆs‰8Œ8�WÐÐr   c                 óŠ   — t          |t          j        ¦  «        sd|› d�}t          j        |¦  «        ‚d„ } ||¦  «        |fS )z@Counts leading zeros in the binary representation of an integer.zBleading_zeros is only defined for integers, but value passed was 'r%   c                 ó€   — |\  }|                      |t          j        t          j        d¦  «        d¦  «        ¦  «        S r'   )Úctlzr   r*   r   r+   s        r   r   zleading_zeros.<locals>.codegen2   r/   r   r0   r2   s       r   Úleading_zerosr:   *   r6   r   N)Ú__doc__Ú
numba.corer   r   Únumba.core.extendingr   Úllvmliter   r#   r5   r:   © r   r   ú<module>r@      s¦   ððð à $Ð $Ð $Ð $Ð $Ð $Ð $Ð $Ø *Ð *Ð *Ð *Ð *Ð *à Ð Ð Ð Ð Ð ð ðð ñ „ðð$ ð
ð 
ñ „ð
ð ð
ð 
ñ „ð
ð 
ð 
r   