package eu.brassepc.fitnessdroid.data import java.time.LocalDate /** * Basalmetabolism (kcal/dygn) enligt Mifflin–St Jeor: * 10·vikt + 6.25·längd − 5·ålder + 5 (man) / −161 (kvinna). * null om något av underlagen saknas. */ fun bmrKcalPerDay( weightKg: Double?, heightCm: Double?, birthYear: Int?, isFemale: Boolean?, ): Double? { if (weightKg == null || heightCm == null || birthYear == null || isFemale == null) return null val age = (LocalDate.now().year - birthYear).coerceIn(0, 120) val k = if (isFemale) -161.0 else 5.0 return 10.0 * weightKg + 6.25 * heightCm - 5.0 * age + k }