Как изобразить бесконечность в ракетке? - PullRequest
0 голосов
/ 14 мая 2018

Я пишу программу, которая требует представления положительной бесконечности в моем коде.Есть ли что-то вроде INTEGER_MAX в Racket?

Ответы [ 2 ]

0 голосов
/ 16 мая 2018

В #lang racket и других языках семейства Racket у вас есть поддержка чисел с плавающей запятой и, таким образом, вы имеете обе бесконечности:

+inf.0
-inf.0

Это также верно для стандартных реализаций языков отчетов Scheme, предоставляемых Racket, таких как #!r5rs и #!r6rs.

Что касается стандарта Схемы, то для поддержки полной числовой башни требуется только R6RS. Последний R7RS-маленький отчет (pdf, стр. 35) гласит:

Числа положительной бесконечности, отрицательной бесконечности и NaN записываются +inf.0, -inf.0 и +nan.0 соответственно. NaN также может быть написано -nan.0. Использование знаков в письменном представлении делает не обязательно отражает основной признак значения NaN, если оно есть. Реализации не обязаны поддерживать эти цифры, но если они делают, они должны делать это в целом в соответствии с IEEE 754. Тем не менее, имплементации не требуются для поддержки сигнальных NaN, ни предоставить способ различать различные NaN.

Таким образом, позиция такая же, как и для R5RS. Более крупный R7RS, который еще не завершен, может потребовать полной числовой вышки, как это, похоже, было обсуждено.

0 голосов
/ 14 мая 2018

+inf.0, кажется, работает для моих целей.

...