Есть ли в Common Lisp независимый от реализации способ представления бесконечности или не числа (NAN)? Это должно быть двойное число с плавающей запятой и иметь как положительные, так и отрицательные значения. В SBCL результаты
(apropos "INFINITY")
включают
SB-EXT:DOUBLE-FLOAT-NEGATIVE-INFINITY (bound)
SB-EXT:DOUBLE-FLOAT-POSITIVE-INFINITY (bound)
но мне нужно, чтобы он был доступен во всех реализациях. У меня есть дополнение к пакету, который нужно написать, который работает на всех платформах и требует представления бесконечности и NAN. Достаточно даже функций из другой библиотеки.
Я загрузил iee-floats
, и теперь это часть моей библиотеки. У меня есть функция, которая определяет, является ли число NaN, и функция, которая определяет, является ли число бесконечным; Я не тестировал NaN out, но моей функции бесконечности нужно, чтобы число было двойным с плавающей запятой. SBCL SB-EXT:DOUBLE-FLOAT-POSITIVE-INFINITY
работает, но мне нужно, чтобы он не зависел от реализации.