How to use float_clamper method in hypothesis

Best Python code snippet using hypothesis

floats.py

Source:floats.py Github

copy

Full Screen

...88 32: 2 ** -(2 ** (8 - 1) - 2),89 64: 2 ** -(2 ** (11 - 1) - 2),90}91assert width_smallest_normals[64] == float_info.min92def make_float_clamper(93 min_float: float = 0.0,94 max_float: float = math.inf,95 allow_zero: bool = False, # Allows +0.0 (even if minfloat > 0)96) -> Optional[Callable[[float], float]]:97 """98 Return a function that clamps positive floats into the given bounds.99 Returns None when no values are allowed (min > max and zero is not allowed).100 """101 if max_float < min_float:102 if allow_zero:103 min_float = max_float = 0.0104 else:105 return None106 range_size = min(max_float - min_float, float_info.max)107 mantissa_mask = (1 << 52) - 1108 def float_clamper(float_val: float) -> float:109 if min_float <= float_val <= max_float:110 return float_val111 if float_val == 0.0 and allow_zero:112 return float_val113 # Outside bounds; pick a new value, sampled from the allowed range,114 # using the mantissa bits.115 mant = float_to_int(float_val) & mantissa_mask116 float_val = min_float + range_size * (mant / mantissa_mask)117 # Re-enforce the bounds (just in case of floating point arithmetic error)118 return max(min_float, min(max_float, float_val))...

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run hypothesis automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful