class_docstr: A strategy for floating point numbers.
class_docstr_tok: ["A","strategy","for","floating","point","numbers","."]
code: def __init__(
      self,
      *,
      min_value: float,
      max_value: float,
      allow_nan: bool,
      # The smallest nonzero number we can represent is usually a subnormal, but may
      # be the smallest normal if we're running in unsafe denormals-are-zero mode.
      # While that's usually an explicit error, we do need to handle the case where
      # the user passes allow_subnormal=False.
      smallest_nonzero_magnitude: float = SMALLEST_SUBNORMAL,
  ):
      super().__init__()
      assert isinstance(allow_nan, bool)
      assert (
          smallest_nonzero_magnitude >= 0.0
      ), "programmer error if this is negative"
      if smallest_nonzero_magnitude == 0.0:  # pragma: no cover
          raise FloatingPointError(
              "Got allow_subnormal=True, but we can't represent subnormal floats "
              "right now, in violation of the IEEE-754 floating-point "
              "specification.  This is usually because something was compiled with "
              "-ffast-math or a similar option, which sets global processor state.  "
              "See https://simonbyrne.github.io/notes/fastmath/ for a more detailed "
              "writeup - and good luck!"
          )
      self.min_value = min_value
      self.max_value = max_value
      self.allow_nan = allow_nan
      self.smallest_nonzero_magnitude = smallest_nonzero_magnitude
  
imports: import math
  from decimal import Decimal
  from fractions import Fraction
  from typing import Literal, Optional, Union
  from hypothesis.control import reject
  from hypothesis.errors import InvalidArgument
  from hypothesis.internal.filtering import get_float_predicate_bounds, get_integer_predicate_bounds
  from hypothesis.internal.floats import SMALLEST_SUBNORMAL, float_of, float_to_int, int_to_float, is_negative, next_down, next_down_normal, next_up, next_up_normal, width_smallest_normals
  from hypothesis.internal.validation import check_type, check_valid_bound, check_valid_interval
  from hypothesis.strategies._internal.misc import nothing
  from hypothesis.strategies._internal.strategies import SampledFromStrategy, SearchStrategy
  from hypothesis.strategies._internal.utils import cacheable, defines_strategy
label_desc: Use image node_id 1 to create a new FloatStrategy object from inherited base classes: SearchStrategy with example: obj = FloatStrategy()