
    ni                     N    S SK Jr  S SKJr  S SKr " S S\R                  5      rg)    )	structref)njitNc                      \ rS rSrSS jr\\S 5       5       r\\S 5       5       r\\S 5       5       r	\\S 5       5       r
\\S 5       5       r\S 5       r\S	 5       r\S
 5       r\S 5       r\S 5       r\S 5       rS rS rS rS rS rSrg)Interval   c                 D    [         R                  R                  XX#X5      $ N)r   StructRefProxy__new__)clslowerupperss       \/home/james-whalen/.local/lib/python3.13/site-packages/pyreason/scripts/interval/interval.pyr   Interval.__new__   s    ''//EeSS    c                     U R                   $ r	   )lselfs    r   r   Interval.lower
        vvr   c                     U R                   $ r	   )ur   s    r   r   Interval.upper   r   r   c                     U R                   $ r	   r   r   s    r   staticInterval.static   r   r   c                     U R                   $ r	   )prev_lr   s    r   
prev_lowerInterval.prev_lower        {{r   c                     U R                   $ r	   )prev_ur   s    r   
prev_upperInterval.prev_upper   r$   r   c                     Xl         X l        g r	   )r   r   )r   r   r   s      r   set_lower_upperInterval.set_lower_upper#   s    r   c                 d    U R                   U l        U R                  U l        SU l         SU l        g )Nr      )r   r!   r   r&   r   s    r   resetInterval.reset(   s&    ffffr   c                     Xl         g r	   r   )r   r   s     r   
set_staticInterval.set_static/   s    r   c                     U R                   $ r	   r   r   s    r   	is_staticInterval.is_static3   s    vvr   c                 n    U R                   U R                  :X  a  U R                  U R                  :X  a  gg)NFT)r   r"   r   r'   r   s    r   has_changedInterval.has_changed7   s'    ::t&4::t+Fr   c                 (   [        U R                  UR                  5      n[        U R                  UR                  5      nX#:  a,  [        R
                  " S5      n[        R
                  " S5      n[        X#SU R                  U R                  5      $ )Nr   r-   F)maxr   minr   npfloat32r   )r   intervalr   r   s       r   intersectionInterval.intersection>   sb    DJJ/DJJ/=JJqMEJJqMEeTZZDDr   c                 "    U R                  5       $ r	   )__repr__r   s    r   to_strInterval.to_strG   s    }}r   c                 n    UR                   U R                   :X  a  UR                  U R                  :X  a  ggNTFr   r   )r   r>   s     r   __eq__Interval.__eq__J   s'    >>4::%(..$***Dr   c                 <    SU R                    SU R                   S3$ )N[,]rG   r   s    r   rB   Interval.__repr__P   s    4::,a

|1--r   c                 D    [        U R                  U R                  45      $ r	   )hashr   r   r   s    r   __hash__Interval.__hash__S   s    TZZ,--r   c                 n    U R                   UR                   ::  a  U R                  UR                  :  a  ggrF   rG   )r   items     r   __contains__Interval.__contains__V   s'    ::#

djj(@r   )r   r!   r&   r   r   N)F)__name__
__module____qualname____firstlineno__r   propertyr   r   r   r   r"   r'   r*   r.   r1   r4   r7   r?   rC   rH   rB   rQ   rU   __static_attributes__ r   r   r   r      s'   T 	 
  	 
  	 
  	 
  	 
  
 
 
 
 
 
 
 
 
 
 
E 
E..r   r   )numba.experimentalr   numbar   numpyr<   r
   r   r]   r   r   <module>ra      s"    (  Ty'' Tr   