o
    ¯©iv  ã                   @   s\   d d„ Z dd„ Zdd„ Zdd„ Zdd	„ Zd
d„ Zdd„ Zdd„ Zdd„ Zdd„ Z	dd„ Z
dS )c                 C   s0   t | tƒr	tdƒ‚t| ƒ}|jdkrtdƒ‚|S )Nz8Unicode-objects must be encoded before calculating a CRCé   zBuffer must be single dimension)Ú
isinstanceÚstrÚ	TypeErrorÚ
memoryviewÚndimÚBufferError)Úin_objÚmv© r
   úD/home/ubuntu/.local/lib/python3.10/site-packages/crcmod/_crcfunpy.pyÚ_get_buffer_view   s   

r   c                 C   ó.   t | ƒ}|d@ }| ¡ D ]}|||A  }q|S ©Néÿ   ©r   Útobytes©ÚdataÚcrcÚtabler	   Úxr
   r
   r   Ú_crc8&   ó
   r   c                 C   r   r   r   r   r
   r
   r   Ú_crc8r-   r   r   c                 C   sB   t | ƒ}|d@ }| ¡ D ]}|||d? d@ A  |d> d@ A }q|S )Néÿÿ  é   r   i ÿ  r   r   r
   r
   r   Ú_crc164   ó
   "r   c                 C   ó:   t | ƒ}|d@ }| ¡ D ]}|||d@ A  |d? A }q|S )Nr   r   r   r   r   r
   r
   r   Ú_crc16r;   ó
   r   c                 C   óB   t | ƒ}|d@ }| ¡ D ]}|||d? d@ A  |d> d@ A }q|S )Néÿÿÿ é   r   r   i ÿÿ r   r   r
   r
   r   Ú_crc24B   r   r$   c                 C   r   )Nr"   r   r   r   r   r
   r
   r   Ú_crc24rI   r    r%   c                 C   r!   )Nì   ÿÿ é   r   r   l    ÿ r   r   r
   r
   r   Ú_crc32P   r   r(   c                 C   r   )Nr&   r   r   r   r   r
   r
   r   Ú_crc32rW   r    r)   c                 C   r!   )Nì   ÿÿÿÿ é8   r   r   l    ÿÿÿ r   r   r
   r
   r   Ú_crc64^   r   r,   c                 C   r   )Nr*   r   r   r   r   r
   r
   r   Ú_crc64re   r    r-   N)r   r   r   r   r   r$   r%   r(   r)   r,   r-   r
   r
   r
   r   Ú<module>   s   	