runner-ai-intelligence / src /tools /runner_ai.py
avfranco's picture
HF Space deploy snapshot (minimal allow-list)
557ee65
raw
history blame contribute delete
824 Bytes
from typing import Optional
# src/tools/runner_ai.py
# Convert seconds per kilometer to a min/km string
def sec_to_min_km(sec_per_km) -> str:
if sec_per_km is None:
return None
minutes = int(sec_per_km // 60)
seconds = int(sec_per_km % 60)
return f"{minutes}:{seconds:02d} min/km"
# Convert a min/km string to seconds per kilometer
def min_km_to_sec(min_km: str) -> float:
if min_km is None:
return None
minutes, seconds = map(int, min_km.split(":"))
return minutes * 60 + seconds
# Convert a distance in meters and time in seconds to a pace in seconds per kilometer
def calculate_pace_s_per_km(distance_m: Optional[float], time_s: Optional[float]) -> float:
if not distance_m or not time_s or distance_m <= 0:
return 0
return (time_s * 1000) / distance_m