Язык процедур 2-REXX для OS-2

       

NUMERIC


Инструкция NUMERIC используется для изменения способа выполнения арифметических операций. Режимы данной инструкции подробно описаны в документе Язык процедур 2/REXX для OS/2. Справочник.

Инструкция NUMERIC с режимом DIGITS управляет точностью вычисления арифметических выражений и арифметических встроенных функций. Если выражение опущено, то по умолчанию используется значение 9. В противном случае результат выражения при необходимости округляется в соответствии с текущим назначением NUMERIC DIGITS. Используемое значение должно быть целым положительным числом, большим, чем текущее назначение NUMERIC FUZZ.

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

Текущее назначение NUMERIC DIGITS можно получить с помощью встроенной функции DIGITS.

Инструкция NUMERIC с режимом FORM управляет формой экспоненциального представления результатов выполнения арифметических операций и встроенных арифметических функций, используемой в языке REXX. Это может быть SCIENTIFIC (в этом случае перед десятичной точкой появляется только одна цифра, отличная от нуля) или ENGINEERING (в этом случае степень числа 10 всегда кратна трем). По умолчанию принимается значение SCIENTIFIC. Режим FORM устанавливается либо с помощью прямого указания вложенного ключевого слова (SCIENTIFIC или ENGINEERING), либо принимается как результат вычисления выражения, следующего за VALUE. Результат в этом случае может быть либо SCIENTIFIC, либо ENGINEERING. Вы можете опустить вложенное ключевое слово VALUE, если выражение начинается не с символа или текстовой строки (например, если оно начинается со специального знака: оператора или скобки).

Текущее значение NUMERIC FORM можно получить с помощью встроенной функции FORM.

Инструкция NUMERIC с режимом FUZZ указывает, сколько цифр результата, полученного с указанной точностью, можно отбросить при выполнении операции сравнения.
Если выражение опущено, то по умолчанию принимается значение 0. В противном случае результат вычисления выражения должен быть нулевым или целым положительным числом, которое перед использованием нужно округлить в соответствии с текущей установкой NUMERIC DIGITS. Используемое значение должно быть целым положительным числом, меньшим, чем текущее назначение NUMERIC DIGITS.

Режим FUZZ временно уменьшает значение DIGITS на величину FUZZ перед каждой операцией числового сравнения. Сравниваемые числа вычитаются одно из другого, используя точность (DIGITS - FUZZ), а потом результат сравнивается с нулем.

Текущее значение NUMERIC FUZZ можно получить с помощью встроенной функции FUZZ.

Прим.    Все три числовых назначения автоматически сохраняются при вызове подпрограммы или внутренней функции. Для получения более подробной информации смотрите описание инструкции CALL.



Содержание раздела