Есть ли способ симулировать нано / инф в постоянном выражении и без! используя макросы C HUGE_VAL и INFINITY или любые другие в этом отношении! Плюс, даже с ними, это все еще не constexpr.
Я не хочу использовать какие-либо стандартные функции, которые предоставляет стандартная библиотека C ++ или стандартная библиотека C.
Конечно, следующее не компилируется. Компилятор говорит, что переменная constexpr должна быть инициализирована с константным выражением …
template<typename T = double>
constexpr T NaN = T(0.0 / 0.0);
Метод, который использует компилятор MSVC, также не компилируется:
template<typename T = double>
constexpr T NaN = T(1e+300); //with some changes, apparently having the float overflow
Я знаю, что это довольно широко, но это для библиотеки, и я ищу несколько образованных советов! Спасибо!
Задача ещё не решена.
Других решений пока нет …