Ë
   3¢­&R†ZTã            	       óÂ  — d dl Zd dlmc mZ d dlmZ d dlmZm	Z	 	 dZ
dZe
dz
  ez
  Zdedefd	„Z ed
 e ee
dz   «      e¬«      «      Z ed
d g«       ee«      z  Z ee«      D ]
  \  ZZeee<   Œ [[dedefd„Zdedefd„Zdedefd„Z e ee ed«      «      «      Zdedefd„ZdZdededefd„Z dededefd„Z!dedefd„Z"dedefd„Z#dedefd„Z$dedefd„Z%y) é    N)Úarray)Úfloat_to_intÚint_to_floatéÿ  iÿ  é   ÚeÚreturnc                 óT   — | t         k(  rt        d«      S | t        z
  }|dk  rd|z
  S |S )NÚinfr   i'  )ÚMAX_EXPONENTÚfloatÚBIAS)r   Úunbiaseds     új/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/hypothesis/internal/conjecture/floats.pyÚexponent_keyr   R   s4   € ØŒLÒÜ�U‹|ÐØ”4‰x€HØ�!‚|Ø�xÑÐàˆó    ÚH)Úkeyc                 ó  — d}|| k  }| t         k  }|r|sèt        j                  d||fd|| t         f«      t        j                  |«      dt	        j
                  «       v st        j                  | «      rt        j                  | «      nddt	        j
                  «       v st        j                  t         «      rt        j                  t         «      nddœz  }dd|iz  }t        t        j                  |«      «      ‚d	x}x}}t        |    S )
z„Take an integer and turn it into a suitable floating point exponent
    such that lexicographically simpler leads to simpler floats.r   ©ú<=r   ©z%(py1)s <= %(py4)sz%(py4)s <= %(py5)sr   r   ©Úpy1Úpy4Úpy5úassert %(py7)sÚpy7N)
r   Ú
@pytest_arÚ_call_reprcompareÚ	_safereprÚ@py_builtinsÚlocalsÚ_should_repr_global_nameÚAssertionErrorÚ_format_explanationÚENCODING_TABLE©r   Ú@py_assert0Ú@py_assert2Ú@py_assert3Ú@py_format6Ú@py_format8s         r   Údecode_exponentr.   e   ó–   € ð Ð!ˆ1�Ñ!Ð!�”\Ñ!×!×!×!Ð!ˆ1�”\×!×!Ó!ˆ1×!×!×!×!×!Ð!�×!×!Ó!�×!×!×!×!×!Ò!”\×!×!Ó!”\×!×!×!×!×!×!Õ!Ü˜!ÑÐr   c                 ó  — d}|| k  }| t         k  }|r|sèt        j                  d||fd|| t         f«      t        j                  |«      dt	        j
                  «       v st        j                  | «      rt        j                  | «      nddt	        j
                  «       v st        j                  t         «      rt        j                  t         «      nddœz  }dd|iz  }t        t        j                  |«      «      ‚d	x}x}}t        |    S )
z_Take a floating point exponent and turn it back into the equivalent
    result from conjecture.r   r   r   r   r   r   r   r   N)
r   r   r    r!   r"   r#   r$   r%   r&   ÚDECODING_TABLEr(   s         r   Úencode_exponentr2   l   r/   r   Úbc                 óN   — d}t        d«      D ]  }|dz  }|| dz  z  }| dz  } Œ |S )Nr   é   r   )Úrange)r3   ÚresultÚ_s      r   Úreverse_byter9   s   s@   € Ø€FÜ�1‹Xò ˆØ�1‰ˆØ�!�a‘%‰ˆØ	ˆa‰‰ðð €Mr   é   Úvc                 óú  — | j                   } |«       }d}||k  }|sÁt        j                  d|fd||f«      dt        j                  «       v st        j
                  | «      rt        j                  | «      ndt        j                  |«      t        j                  |«      t        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚dx}x}x}}t        | d	z	  d
z     dz  t        | dz	  d
z     dz  z  t        | dz	  d
z     dz  z  t        | dz	  d
z     dz  z  t        | dz	  d
z     dz  z  t        | dz	  d
z     dz  z  t        | dz	  d
z     dz  z  t        | dz	  d
z     d	z  z  S )a«  Reverse a 64-bit integer bitwise.

    We do this by breaking it up into 8 bytes. The 64-bit integer is then the
    concatenation of each of these bytes. We reverse it by reversing each byte
    on its own using the REVERSE_BITS_TABLE above, and then concatenating the
    reversed bytes.

    In this case concatenating consists of shifting them into the right
    position for the word and then oring the bits together.
    é@   ©r   ©úI%(py4)s
{%(py4)s = %(py2)s
{%(py2)s = %(py0)s.bit_length
}()
} <= %(py7)sr;   ©Úpy0Úpy2r   r   úassert %(py9)sÚpy9Nr   éÿ   é8   r5   é0   é   é(   é   é    )
Ú
bit_lengthr   r    r"   r#   r$   r!   r%   r&   ÚREVERSE_BITS_TABLE)r;   Ú@py_assert1r+   Ú@py_assert6Ú@py_assert5r-   Ú@py_format10s          r   Ú	reverse64rS   ƒ   sc  € ð �<‰<Ð‰<‹>Ð˜RÐˆ>˜RÑ××Õˆ>˜R×××××Ñˆ1××Óˆ1××Ôˆ<××Òˆ>××Ò˜R××××××Õä	˜Q !™V t™OÑ	,°Ñ	2Ü˜q A™v¨™oÑ.°"Ñ4ñ	6ä˜q B™w¨$Ñ.Ñ/°2Ñ5ñ	7ô ˜q B™w¨$Ñ.Ñ/°2Ñ5ñ	7ô ˜q B™w¨$Ñ.Ñ/°2Ñ5ñ		7ô
 ˜q B™w¨$Ñ.Ñ/°2Ñ5ñ	7ô ˜q B™w¨$Ñ.Ñ/°1Ñ4ñ	6ô ˜q B™w¨$Ñ.Ñ/°1Ñ4ñ	6ð	r   l   ÿÿÿ ÚxÚnc                 ó�  — | j                   } |«       }||k  }d}||k  }|r|�st        j                  d||fd|||f«      dt        j                  «       v st        j
                  | «      rt        j                  | «      ndt        j                  |«      t        j                  |«      dt        j                  «       v st        j
                  |«      rt        j                  |«      ndt        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}x}x}x}}t        | «      } | d|z
  z  } | S )	Nr=   r   )r@   z%(py7)s <= %(py9)srT   rU   )rB   rC   r   r   rE   zassert %(py11)sÚpy11)
rM   r   r    r"   r#   r$   r!   r%   r&   rS   )	rT   rU   rO   r+   rQ   Ú@py_assert8rP   rR   Ú@py_format12s	            r   Úreverse_bitsrZ   ž   sÊ   € Ø�<‰<Ð$‰<‹>Ð$ˆ>˜QÑ$Ð$ "Ð$˜Q "Ñ$×$×$×$Ñ$ˆ>˜Q "×$×$×$×$×$Ñ$ˆ1×$×$Ó$ˆ1×$×$Ô$ˆ<×$×$Ò$ˆ>×$×$×$×$×$Ð$˜Q×$×$Ó$˜Q×$×$Ô$ "×$×$×$×$×$×$×$Ü�!‹€AØˆ"ˆq‰&�L€AØ€Hr   Úunbiased_exponentÚmantissac                 ó~   — | dk  rt        |d«      }|S | dk  r$d| z
  }|d|z  dz
  z  }||z  }|t        ||«      z  }|S )Nr   é4   é3   r   )rZ   )r[   r\   Ún_fractional_bitsÚfractional_parts       r   Úupdate_mantissarb   ¥   si   € Ø˜AÒÜ ¨"Ó-ˆð €Oð 
˜bÒ	 ØÐ!2Ñ2ÐØ" qÐ,=Ñ'=ÀÑ&BÑCˆØ�OÑ#ˆØ”L Ð2CÓDÑDˆØ€Or   Úic                 óF  — | j                   } |«       }d}||k  }|sÁt        j                  d|fd||f«      dt        j                  «       v st        j
                  | «      rt        j                  | «      ndt        j                  |«      t        j                  |«      t        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}x}x}}| dz	  }|�r%| d	z	  d
z  }t        |«      }| t        z  }	t        |t        z
  |	«      }	|	j                   } |«       }d	}||k  }|sÁt        j                  d|fd||f«      dt        j                  «       v st        j
                  |	«      rt        j                  |	«      ndt        j                  |«      t        j                  |«      t        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}x}x}}t        |d	z  |	z  «      S | dz  }
t        |
«      S )Nr=   r>   r?   rc   rA   rD   rE   é?   r^   r   r\   l   ÿÿÿÿ)rM   r   r    r"   r#   r$   r!   r%   r&   r.   ÚMANTISSA_MASKrb   r   r   r   )rc   rO   r+   rP   rQ   r-   rR   Úhas_fractional_partÚexponentr\   Úintegral_parts              r   Úlex_to_floatrj   °   sp  € Ø�<‰<Ð‰<‹>Ð˜RÐˆ>˜RÑ××Õˆ>˜R×××××Ñˆ1××Óˆ1××Ôˆ<××Òˆ>××Ò˜R××××××ÕØ˜r™'ÐÚØ˜‘G Ñ.ˆÜ" 8Ó,ˆØ”}Ñ$ˆÜ" 8¬d¡?°HÓ=ˆà×"Ñ"Ð*Ñ"Ó$Ð*¨Ð*Ð$¨Ñ*×*×*Õ*Ð$¨×*×*×*×*×*Ñ*ˆx×*×*Ó*ˆx×*×*Ô*Ð"×*×*Ò*Ð$×*×*Ò*¨×*×*×*×*×*×*Õ*ä˜X¨™^¨xÑ7Ó8Ð8à˜]Ñ+ˆÜ�]Ó#Ð#r   Úfc                 ó�  — t        | «      r±d}| |k\  }|s™t        j                  d|fd| |f«      dt        j                  «       v st        j
                  | «      rt        j                  | «      ndt        j                  |«      dœz  }dd|iz  }t        t        j                  |«      «      ‚d x}}t        | «      S t        | «      S )Nr   )ú>=)z%(py0)s >= %(py3)srk   )rB   Úpy3zassert %(py5)sr   )Ú	is_simpler   r    r"   r#   r$   r!   r%   r&   ÚintÚbase_float_to_lex)rk   r*   rO   Ú@py_format4r,   s        r   Úfloat_to_lexrs   Á   s^   € Ü�„|Øˆˆq�A‰v���ˆq�A�����‰ˆq��‹ˆq��Œ�A������‰Ü�1‹vˆÜ˜QÓÐr   c                 óZ  — t        | «      }|dz  }|dz	  }|t        z  }t        |t        z
  |«      }t	        |«      }|j
                  } |«       }d}||k  }|sÁt        j                  d|fd||f«      dt        j                  «       v st        j                  |«      rt        j                  |«      ndt        j                  |«      t        j                  |«      t        j                  |«      dœz  }dd|iz  }	t        t        j                  |	«      «      ‚d x}x}x}}d	|dz  z  |z  S )
Nl   ÿÿÿÿ r^   r>   r?   r\   rA   rD   rE   l            )r   rf   rb   r   r2   rM   r   r    r"   r#   r$   r!   r%   r&   )
rk   rc   rh   r\   rO   r+   rP   rQ   r-   rR   s
             r   rq   rq   È   sÝ   € Ü�Q‹€AØˆÑ€AØ�B‰w€HØ”=Ñ €HÜ˜x¬$™°Ó9€HÜ˜xÓ(€Hà×ÑÐ&ÑÓ Ð& BÐ&Ð  BÑ&×&×&Õ&Ð  B×&×&×&×&×&Ñ&ˆ8×&×&Ó&ˆ8×&×&Ô&Ð×&×&Ò&Ð ×&×&Ò& B×&×&×&×&×&×&Õ&Ø˜ B™Ñ'¨(Ñ2Ð2r   c                 óv   — 	 t        | «      }|| k7  ry|j                  «       dk  S # t        t        f$ r Y yw xY w)NFrG   )rp   Ú
ValueErrorÚOverflowErrorrM   )rk   rc   s     r   ro   ro   Ô   sF   € ðÜ�‹Fˆð 	ˆA‚vØØ�<‰<‹>˜RÑÐøô	 œÐ&ò Ùðús   ‚& ¦8·8)&Úbuiltinsr"   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter   r   Úhypothesis.internal.floatsr   r   r   r   ÚMAX_POSITIVE_EXPONENTrp   r   r   Úsortedr6   r'   Úlenr1   Ú	enumeraterc   r3   r.   r2   r9   Ú	bytearrayÚmaprN   rS   rf   rZ   rb   rj   rs   rq   ro   © r   r   ú<module>r„      s‘  ð÷ „ Õ ç Að:ðz €à€Ø$ qÑ(¨4Ñ/Ð ð�Cð ˜Eó ñ �s™F¡5¨¸Ñ)9Ó#:ÀÔMÓN€Ù�s˜Q˜C“¡3 ~Ó#6Ñ6€á�nÓ%ò �D€A€qØ€N�1Òðð €qð�sð ˜só ð�sð ˜só ð�Cð ˜Có ñ ™s <±°s³Ó<Ó=Ð ð�ð ˜ó ð0 €ð�Cð ˜Cð  Có ð sð °cð ¸có ð$�Cð $˜Eó $ð" �Eð  ˜có  ð	3˜ð 	3 3ó 	3ð �ð  ˜3ô  r   