Почему std::numeric_limits<int>::epsilon = 0?
От: fin_81  
Дата: 23.01.10 15:57
Оценка:
Здравствуйте.

Вопрос: почему у целых типов std::numeric_limits<int>::epsilon() = 0, а у чисел с плавающей точкой std::numeric_limits<float>::epsilon() = <FLOAT_EPS>?
Насколько я знаю по определению epsilon должен удовлетворять условию: минимальное положительное значение такое, что 1 + eps != 1. Отсюда для целых чисел eps = 1.

Буду очень благодарен, если подскажете как реализовать traits класс, который по значению std::numeric_limits<T>::is_integer определяет нужное значение для epsilon.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.