Objective-C: название метода, который корректирует значение с плавающей запятой до 0-1

Я создал следующий метод, чтобы безопасно использовать скорость.
(Иногда скорость может стать недопустимым значением, например, INFINITY, NAN или из 0-1)

-(double)XXXX:(double)rate
    if (rate >= 1) {
         return 1;
    } else if (rate <= 0) {
        return 0;
    } else if (0 <= rate && rate <= 1) {
        return rate;
    } else {
        return 0;
    }
}

Как мне назвать этот метод?

РЕДАКТИРОВАТЬ:
Я использую скорость для отображения прогресса времени с UISlider, UIProgress или просто NString(XX %).

Использование метода:

rate = [objectOrClass XXXX: currentTime / totalTime];
rate = [objectOrClass XXXX:(currentTime + additionalTime) / totalTime];

Я также использую его для вычисления currentTime из ставки:

currentTime = [objectOrClass XXXX:rate] * totalTime;

3 ответа

Решение
-(double) adjustRate:(double)rate;
static inline float RateAligned(float rate) {
    return MAX(.0f, MIN(1.0f, rate));
}
When totalTime is zero  you will get INFINITY.

When totalTime and currentTime both are zeros you will get NAN.

When (currentTime + additionalTime) and currentTime both are zeros you will get NAN.

Я думаю, что это будет полезно для вас.

Другие вопросы по тегам