Ë
    iKêj1  ã            	       ó¨  — 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) é    )Ú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| cxk  r
t         k  sJ ‚ J ‚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   ÚENCODING_TABLE©r   s    r   Údecode_exponentr   e   ó(   € ð �Ô!”\Ò!Ð!Ñ!Ð!Ð!Ü˜!ÑÐr   c                 ó<   — d| cxk  r
t         k  sJ ‚ J ‚t        |    S )z_Take a floating point exponent and turn it back into the equivalent
    result from conjecture.r   )r   ÚDECODING_TABLEr   s    r   Úencode_exponentr   l   r   r   Úbc                 óN   — d}t        d«      D ]  }|dz  }|| dz  z  }| dz  } Œ |S )Nr   é   r   )Úrange)r   ÚresultÚ_s      r   Úreverse_byter#   s   s@   € Ø€FÜ�1‹Xò ˆØ�1‰ˆØ�!�a‘%‰ˆØ	ˆa‰‰ðð €Mr   é   Úvc                 óZ  — | j                  «       dk  sJ ‚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   éÿ   é8   r   é0   é   é(   é   é    )Ú
bit_lengthÚREVERSE_BITS_TABLE)r%   s    r   Ú	reverse64r1   ƒ   sø   € ð �<‰<‹>˜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                 óh   — | j                  «       |cxk  rdk  sJ ‚ J ‚t        | «      } | d|z
  z  } | S )Nr'   )r/   r1   )r2   r3   s     r   Úreverse_bitsr5   ž   s<   € Ø�<‰<‹>˜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   )r5   )r6   r7   Ún_fractional_bitsÚfractional_parts       r   Úupdate_mantissar=   ¥   si   € Ø˜AÒÜ ¨"Ó-ˆð €Oð 
˜bÒ	 ØÐ!2Ñ2ÐØ" qÐ,=Ñ'=ÀÑ&BÑCˆØ�OÑ#ˆØ”L Ð2CÓDÑDˆØ€Or   Úic                 ó  — | j                  «       dk  sJ ‚| dz	  }|rU| dz	  dz  }t        |«      }| t        z  }t        |t        z
  |«      }|j                  «       dk  sJ ‚t        |dz  |z  «      S | dz  }t        |«      S )Nr'   é?   r9   r   l   ÿÿÿÿ)r/   r   ÚMANTISSA_MASKr=   r   r   r   )r>   Úhas_fractional_partÚexponentr7   Úintegral_parts        r   Úlex_to_floatrE   °   s•   € Ø�<‰<‹>˜RÒÐÐØ˜r™'ÐÙØ˜‘G Ñ.ˆÜ" 8Ó,ˆØ”}Ñ$ˆÜ" 8¬d¡?°HÓ=ˆà×"Ñ"Ó$¨Ò*Ð*Ð*ä˜X¨™^¨xÑ7Ó8Ð8à˜]Ñ+ˆÜ�]Ó#Ð#r   Úfc                 óR   — t        | «      r| dk\  sJ ‚t        | «      S t        | «      S )Nr   )Ú	is_simpleÚintÚbase_float_to_lex)rF   s    r   Úfloat_to_lexrK   Á   s(   € Ü�„|Ø�AŠvˆˆvÜ�1‹vˆÜ˜QÓÐr   c                 óº   — t        | «      }|dz  }|dz	  }|t        z  }t        |t        z
  |«      }t	        |«      }|j                  «       dk  sJ ‚d|dz  z  |z  S )Nl   ÿÿÿÿ r9   l            )r   rA   r=   r   r   r/   )rF   r>   rC   r7   s       r   rJ   rJ   È   sm   € Ü�Q‹€AØˆÑ€AØ�B‰w€HØ”=Ñ €HÜ˜x¬$™°Ó9€HÜ˜xÓ(€Hà×ÑÓ  BÒ&Ð&Ð&Ø˜ B™Ñ'¨(Ñ2Ð2r   c                 óv   — 	 t        | «      }|| k7  ry|j                  «       dk  S # t        t        f$ r Y yw xY w)NFr)   )rI   Ú
ValueErrorÚOverflowErrorr/   )rF   r>   s     r   rH   rH   Ô   sF   € ðÜ�‹Fˆð 	ˆA‚vØØ�<‰<‹>˜RÑÐøô	 œÐ&ò Ùðús   ‚& ¦8·8N) r   Úhypothesis.internal.floatsr   r   r   r   ÚMAX_POSITIVE_EXPONENTrI   r   r   Úsortedr    r   Úlenr   Ú	enumerater>   r   r   r   r#   Ú	bytearrayÚmapr0   r1   rA   r5   r=   rE   rK   rJ   rH   © r   r   ú<module>rX      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   