Spaces:
Running
Running
| from __future__ import annotations | |
| import math | |
| from typing import Any | |
| PONTO_RAIO_MIN_PADRAO = 3.0 | |
| PONTO_RAIO_MAX_PADRAO = 18.0 | |
| PONTO_RAIO_MIN_LIMITE = 1.0 | |
| PONTO_RAIO_MAX_LIMITE = 64.0 | |
| def _normalizar_numero(value: Any, fallback: float) -> float: | |
| try: | |
| number = float(value) | |
| except (TypeError, ValueError): | |
| return float(fallback) | |
| if not math.isfinite(number): | |
| return float(fallback) | |
| return float(number) | |
| def normalizar_faixa_raio_pontos( | |
| raio_min: Any = None, | |
| raio_max: Any = None, | |
| ) -> tuple[float, float]: | |
| min_norm = _normalizar_numero(raio_min, PONTO_RAIO_MIN_PADRAO) | |
| max_norm = _normalizar_numero(raio_max, PONTO_RAIO_MAX_PADRAO) | |
| min_norm = min(max(min_norm, PONTO_RAIO_MIN_LIMITE), PONTO_RAIO_MAX_LIMITE) | |
| max_norm = min(max(max_norm, PONTO_RAIO_MIN_LIMITE), PONTO_RAIO_MAX_LIMITE) | |
| if min_norm > max_norm: | |
| min_norm, max_norm = max_norm, min_norm | |
| return float(min_norm), float(max_norm) | |