Функции этой группы вычисляют полученные в качестве параметров выражения и проверяют, выполняется ли заданное условие между первым и всеми последующими аргументами. Если соответствующее условие выполняется, функция возвращает значение true, в противном случае — false. Все функции данной группы сравнивают только числовые значения и при необходимости преобразуют значения типа integer в тип float. Список и описание функций, предназначенных для сравнения чисел, приведен в табл. 15.2.
Таблица 15.2. Функции сравнения чисел
Функция
Описание
=
Проверка равенства первого и остальных аргументов
<>
Проверка неравенства первого и остальных аргументов
>
Проверка того, что первый аргумент больше остальных
>=
Проверка того, что первый аргумент больше или равен остальным
<
Проверка того, что первый аргумент меньше остальных
<=
Проверка того, что первый аргумент меньше или равен остальным
Описанные выше функции сравнения чисел обладают одной важной особенностью. Благодаря тому, что точность чисел с плавающей точкой изменяется при переходе от одного компьютера к другому, функции сравнения могут получать различные результаты на различных компьютерах. Даже если код программы не переносится на другой ПК, погрешность округления может вызвать различные ошибки. В примере 15.2 функция = ошибочно возвратит значение true, потому что оба числа округлены до 0.6666666666666666667 (рис. 15.2).
Пример 15.2. Ошибки округления
(= 0.66666666666666666666 0.66666666666666666667)
Кроме описанных выше функций CLIPS предоставляет также три функции