Что эти операторы делают в D 2.0: <> =! <> =! <=!> = - PullRequest
7 голосов
/ 18 февраля 2011

Что делают эти операторы в D 2.0:

  • <>=
  • !<>=
  • !<=
  • !>=

Ответы [ 3 ]

7 голосов
/ 18 февраля 2011

Они используются для значений, которые могут быть неупорядоченными, например, NaN для чисел с плавающей запятой и двойных чисел.1 <>= NaN оценивается как false, тогда как x <>= y оценивается как true для любой пары чисел, если ни одно из них не является NaN.Другие упомянутые вами операторы работают так же, mutatis mutandis .

2 голосов
/ 18 февраля 2011

Длинный ответ:

При работе с плавающей точкой два значения будут сравниваться как одно из A<B, A=B, A>B или неупорядоченное (если одно из них NaN).

Операторы представляют каждую интересную (не константную) строку в таблице истинности .Они могут быть интерпретированы как проверка истинности для каждого из случаев, для которых оператор имеет соответствующий символ, если только он не имеет !, и в этом случае значение инвертируется.

1 голос
/ 26 июля 2012

Они операторы сравнения в D, такие же как ==, < и >=.В D принимается во внимание значение nan (не число).Два числа с плавающей запятой не могут сравнивать только меньшее, равное или большее, но также неупорядоченное, что имеет место, если один из сравнений равен nan.

Следовательно, <>= означает меньше, равно или больше.Другими словами <>= означает заказанный.

Операторы сравнения, начинающиеся с !, возвращают в точности противоположность своего аналога без !.В частности, все они оцениваются в true, если один из сравнений равен nan.

Вот полный список всех операторов сравнения в D:

  • ==
  • !=
  • >
  • >=
  • <
  • <=
  • !<>=
  • <>
  • <>=
  • !<=
  • !<
  • !>=
  • !>
  • !<>

Вы можете найти этот список в документации D. Здесь объясняется поведение всех этих операторов.

...