import logging # Configure logging logging.basicConfig( level=logging.INFO, format="%(asctime)s [%(levelname)s] %(name)s - %(message)s", ) logger = logging.getLogger(__name__) def __main__(probability:float): logger.info("Received input: probability=%.8f", float(probability)) if not isinstance(probability, (int, float)): logger.error("Invalid input type: probability=%s", type(probability).__name__) raise ValueError("Input probability must be a number (int or float)") if probability <= 0.3200099998: bin = "1" elif 0.3200099998 < probability <= 0.4459999998: bin = "2" elif 0.4459999998 < probability <= 0.5394999999: bin = "3" elif 0.5394999999 < probability <= 0.6186978508: bin = "4" elif 0.6186978508 < probability <= 0.6350320994: bin = "5" elif 0.6350320994 < probability <= 0.6553314835: bin = "6" elif 0.6553314835 < probability <= 0.6759955555: bin = "7" elif 0.6759955555 < probability <= 0.7399999999: bin = "8" elif 0.7399999999 < probability <= 0.7899992753: bin = "9" elif 0.7899992753 < probability <= 0.8199900001: bin = "10" elif 0.8199900001 < probability <= 0.8400000009: bin = "11" else: bin = "12" logger.info(f"Repeat V1 Bin: {bin}") return {"bin":bin}