Ë
   „‚ý>)cnã                   ó*  — d dl Zd dlmc mZ d dlZd dlmZ d dl	m
Z
 d dlmZ d dlmZmZmZmZmZmZmZmZmZmZ dZ ee«      Ze
j4                  Zeek(  ZesÞ ej:                  defdeef«      d	 ej<                  «       v s ej>                  e«      r ej@                  e«      nd	 ej@                  e«       ej@                  e«      d
 ej<                  «       v s ej>                  e
«      r ej@                  e
«      nd
 ej@                  e«      dœz  Z!dde!iz  Z" e# ejH                  e"«      «      ‚dxZxZxZZdZ%de&de&de'de&dee&ge&f   f
d„Z(de&e)z  de&e)z  de'fd„Z*ede)de)de)de)fd„«       Z+ede&de&de&de&fd„«       Z+de&e)z  de&e)z  de&e)z  de&e)z  fd„Z+ ed«      Z, ed«      Z-d Z.ej^                  Z ee-«      Z0e0s°d!d" ej<                  «       v s ej>                  e«      r ej@                  e«      nd" ej@                  e«      d# ej<                  «       v s ej>                  e-«      r ej@                  e-«      nd# ej@                  e0«      d$œz  Z1 e# ejH                  e1«      «      ‚dxZZ0ejd                  Zd%Z eee-«      Z3d%Z4e3e4k(  Z5e5sï ej:                  de5fd&e3e4f«      d" ej<                  «       v s ej>                  e«      r ej@                  e«      nd" ej@                  e«       ej@                  e«      d# ej<                  «       v s ej>                  e-«      r ej@                  e-«      nd# ej@                  e3«       ej@                  e4«      d'œz  Z"d(d)e"iz  Z6 e# ejH                  e6«      «      ‚dxZxZxZ3xZ5Z4y)*é    N)ÚCallable)Ú
float_info)Úoverload)
Úcount_between_floatsÚfloat_ofÚfloat_to_intÚint_to_floatÚis_negativeÚ	next_downÚnext_down_normalÚnext_upÚnext_up_normalÚwidth_smallest_normalsé@   )ú==)zI%(py4)s
{%(py4)s = %(py0)s(%(py2)s)
} == %(py8)s
{%(py8)s = %(py6)s.min
}r   r   )Úpy0Úpy2Úpy4Úpy6Úpy8zassert %(py10)sÚpy10l   ÿÿÿ Ú	min_valueÚ	max_valueÚ	allow_nanÚsmallest_nonzero_magnitudeÚreturnc                ó®  ‡ ‡‡‡‡‡— ddl mŠ t        ‰ ‰«      }|�sddt        j                  «       v st        j                  t        «      rt        j                  t        «      nddt        j                  «       v st        j                  ‰ «      rt        j                  ‰ «      nddt        j                  «       v st        j                  ‰«      rt        j                  ‰«      ndt        j                  |«      dœz  }t        t        j                  |«      «      ‚d}t        ‰‰ z
  t        j                  «      Šd	t        d
t        fˆˆˆˆ ˆˆfd„}|S )zN
    Return a function that clamps positive floats into the given bounds.
    r   )Úchoice_permittedz5assert %(py4)s
{%(py4)s = %(py0)s(%(py1)s, %(py2)s)
}Úsign_aware_lter   r   )r   Úpy1r   r   NÚfr   c                 óØ   •—  ‰| ‰‰‰‰dœ«      r| S t        t        | «      «      t        z  }‰‰|t        z  z  z   } dt        | «      cxk  r‰k  rn n‰} ‰‰kD  r| dz  } t        ‰| ‰«      S )N)r   r   r   r   r   éÿÿÿÿ)r   ÚabsÚmantissa_maskÚclamp)r!   Úmantr   r   r   r   Ú
range_sizer   s     €€€€€€ú_/home/oem/CyberBrain26-unified/.venv/lib/python3.12/site-packages/hypothesis/internal/floats.pyÚfloat_clamperz)make_float_clamper.<locals>.float_clamper1   sŒ   ø€ ÙØà&Ø&Ø&Ø.Hñ	ô
ð ˆHô œC ›FÓ#¤mÑ3ˆØ˜
 d¬]Ñ&:Ñ;Ñ;ˆð Œs�1‹vÔ2Ð2Õ2Ø*ˆAð
 *¨IÒ5Ø�R‘�ô �Y  9Ó-Ð-ó    )Ú%hypothesis.internal.conjecture.choicer   r   Ú@py_builtinsÚlocalsÚ
@pytest_arÚ_should_repr_global_nameÚ	_safereprÚAssertionErrorÚ_format_explanationÚminr   ÚmaxÚfloat)	r   r   r   r   Ú@py_assert3Ú@py_format5r*   r   r(   s	   ````   @@r)   Úmake_float_clamperr9   "   sÆ   ý€ õ Gä˜) YÓ/Ð/Ò/×/×/×/×/Õ/Œ>×/×/Ó/Œ>×/×/×/×/×/Ò/˜)×/×/Ó/˜)×/×/×/×/×/Ò/ Y×/×/Ó/ Y×/×/Ô/Ð/×/×/×/×/×/Ð/Ü�Y Ñ*¬J¯N©NÓ;€Jð.œð .¤5÷ .ò .ð< Ðr+   ÚxÚyc                 óŠ   — | dcxk(  r|k(  r4n | |k  S t        j                  d| «      t        j                  d|«      k  S | |k  S )z5Less-than-or-equals, but strictly orders -0.0 and 0.0ç        g      ð?)ÚmathÚcopysign)r:   r;   s     r)   r   r   R   sD   € àˆC„}�1„}ð �A‰vˆô �}‰}˜S !Ó$¬¯©°c¸1Ó(=Ñ=Ð=à�A‰vˆr+   ÚlowerÚvalueÚupperc                  ó   — y ©N© ©r@   rA   rB   s      r)   r&   r&   Z   s   € Ø69r+   c                  ó   — y rD   rE   rF   s      r)   r&   r&   \   s   € Ø>Ar+   c                 ó>   — t        | |«      s| S t        ||«      s|S |S )z‚Given a value and lower/upper bounds, 'clamp' the value so that
    it satisfies lower <= value <= upper.  NaN is mapped to lower.)r   rF   s      r)   r&   r&   ^   s'   € ô ˜% Ô'ØˆÜ˜% Ô'ØˆØ€Lr+   r=   l        À l          zGassert %(py5)s
{%(py5)s = %(py2)s
{%(py2)s = %(py0)s.isnan
}(%(py3)s)
}r>   ÚSIGNALING_NAN)r   r   Úpy3Úpy5é   )zX%(py7)s
{%(py7)s = %(py2)s
{%(py2)s = %(py0)s.copysign
}(%(py4)s, %(py5)s)
} == %(py10)s)r   r   r   rK   Úpy7r   zassert %(py12)sÚpy12)7Úbuiltinsr-   Ú_pytest.assertion.rewriteÚ	assertionÚrewriter/   r>   Úcollections.abcr   Úsysr   Útypingr   Ú"hypothesis._native.internal.floatsr   r   r   r	   r
   r   r   r   r   r   Ú@py_assert1r7   r4   Ú@py_assert7Ú@py_assert5Ú_call_reprcomparer.   r0   r1   Ú@py_format9Ú@py_format11r2   r3   r%   r6   Úboolr9   Úintr   r&   ÚSMALLEST_SUBNORMALrI   ÚMAX_PRECISE_INTEGERÚisnanÚ@py_assert4Ú@py_format6r?   Ú@py_assert6Ú@py_assert9Ú@py_assert8Ú@py_format13rE   r+   r)   ú<module>rh      sÚ  ð÷ „ ƒÝ $Ý Ý ÷÷ ÷ ð !Ð 3Ñ˜bÓ!Ð 3 Z§^¡^Ð 3Ð! ^Ñ3× 3× 3Ò 3Ð! ^× 3× 3× 3× 3Ó 3Ð× 3× 3Ð 3Ð× 3× 3Ñ 3˜b× 3× 3Ð!× 3× 3× 3× 3Ò 3 Z× 3× 3Ð 3 Z× 3× 3Ñ 3 ^× 3× 3× 3× 3× 3× 3à€ð-Øð-àð-ð ð	-ð
 !&ð-ð ˆuˆg�uˆnÑó-ð`�e˜c‘kð  e¨c¡kð °dó ð 
Ø 9�Ð 9˜SÐ 9¨Ð 9°Ò 9ó 
Ø 9Ø	Ø A�Ð A˜uÐ A¨UÐ A°uÒ Aó 
Ø Að�˜‘ð  U¨S¡[ð ¸À¹ð ÈÐQTÉó ñ ˜S“\Ð ÙÐ2Ó3€ØÐ Ø‡z�zÐ  �z�-Ó Ð  Ñ ×  ×  ×  ×  €t×  ×  Ð  €t×  ×  Ñ  €z×  ×  ×  ×  Ò  �-×  ×  Ð  �-×  ×  Ñ  Ð ×  ×  ×  ×  Ô  Ø‡}�}Ð +�QÐ +�}�Q˜Ó&Ð +¨!Ð +Ð&¨!Ñ+× +× +Ò +Ð&¨!× +× +× +× +Ó +€t× +× +Ð +€t× +× +Ñ +€}× +× +�Q× +× +× +× +Ò +˜× +× +Ð +˜× +× +Ñ +Ð&× +× +¨!× +× +× +× +× +× +Ò +r+   