File size: 371 Bytes
f3b0a90 |
1 2 3 4 5 6 7 8 9 10 11 12 |
from typing import Optional
def make_divisible(v: float, divisor: int, min_value: Optional[int] = None) -> int:
if min_value is None:
min_value = divisor
new_v = max(min_value, int(v + divisor / 2) // divisor * divisor)
# Make sure that round down does not go down by more than 10%.
if new_v < 0.9 * v:
new_v += divisor
return new_v
|