// value will always be in the range of [0.0 - maximum]
float obtainRatio(float value, float maximum){
if(maximum != 0.f){
return value / maximum;
}else{
return 0.f;
}
}
Диапазон maximum
может быть любым, включая отрицательные числа. Диапазон value
также может быть чем угодно, хотя функция требуется только для "смысла", когда вход находится в диапазоне [0.0 - maximum]
. Выход всегда должен находиться в диапазоне [0.0 - 1.0]
У меня есть два вопроса, о которых мне интересно, с этим:
- Является ли это сравнение равенства достаточным для того, чтобы функция никогда не делялась на нуль?
- Если максимум является вырожденным значением (чрезвычайно малым или очень большим), есть ли вероятность, что функция вернет результат вне [0.0 - 1.0] (если значение находится в правильном диапазоне)?