This commit is contained in:
@@ -34,6 +34,28 @@ final class EinStufigRegler
|
||||
return [0, $nennleistung];
|
||||
}
|
||||
|
||||
public static function freigabezeitpunkt(
|
||||
bool $eingeschaltet,
|
||||
int $bestaetigtSeit,
|
||||
int $mindesteinschaltdauer,
|
||||
int $mindestausschaltdauer
|
||||
): int {
|
||||
if ($bestaetigtSeit < 0 || $mindesteinschaltdauer < 0 || $mindestausschaltdauer < 0) {
|
||||
throw new InvalidArgumentException('Zeitwerte duerfen nicht negativ sein.');
|
||||
}
|
||||
|
||||
return $bestaetigtSeit + ($eingeschaltet ? $mindesteinschaltdauer : $mindestausschaltdauer);
|
||||
}
|
||||
|
||||
public static function restMindestzeit(int $freigabezeitpunkt, int $jetzt): int
|
||||
{
|
||||
if ($freigabezeitpunkt < 0 || $jetzt < 0) {
|
||||
throw new InvalidArgumentException('Zeitwerte duerfen nicht negativ sein.');
|
||||
}
|
||||
|
||||
return max(0, $freigabezeitpunkt - $jetzt);
|
||||
}
|
||||
|
||||
public static function mussMindestlaufzeitErzwingen(
|
||||
int $tageslaufzeit,
|
||||
int $mindestlaufzeit,
|
||||
|
||||
Reference in New Issue
Block a user