
    3fi                     @    d dl mZ d dlmZmZ  G d de      Zeed<   y)    )ischema_names)UserDefinedTypeFloatc                   T     e Zd ZdZd fd	Zd Z G d dej                        Z xZ	S )BITTc                 8    t         t        |           || _        y N)superr   __init__length)selfr   	__class__s     U/var/www/auto_recruiter/arenv/lib/python3.12/site-packages/pgvector/sqlalchemy/bit.pyr   zBIT.__init__   s    ot-/    c                 :    | j                   yd| j                   z  S )Nr   zBIT(%d))r   )r   kws     r   get_col_speczBIT.get_col_spec   s    ;;4;;&&r   c                       e Zd Zd Zd Zy)BIT.comparator_factoryc                 <     | j                  dt              |      S )Nz<~>return_typeopr   r   others     r   hamming_distancez'BIT.comparator_factory.hamming_distance       44775e74U;;r   c                 <     | j                  dt              |      S )Nz<%>r   r   r   s     r   jaccard_distancez'BIT.comparator_factory.jaccard_distance   r   r   N)__name__
__module____qualname__r   r     r   r   comparator_factoryr      s    	<	<r   r%   r	   )
r!   r"   r#   cache_okr   r   r   
Comparatorr%   __classcell__)r   s   @r   r   r      s)    H'
<_77 < <r   r   bitN)#sqlalchemy.dialects.postgresql.baser   sqlalchemy.typesr   r   r   r$   r   r   <module>r,      s#    = 3</ <* e r   