Моделирование nan / inf в шаблоне переменных constexpr

Есть ли способ симулировать нано / инф в постоянном выражении и без! используя макросы 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

Я знаю, что это довольно широко, но это для библиотеки, и я ищу несколько образованных советов! Спасибо!

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]