3.6.1. Общее описание
Ранее описанные алгоритмы для вычисления наиболее широко используемых числовых функций введены в реализацию и поддерживаются реализацией.
3.6.2. Синтаксис
Встроенная функция = ABS | ATN | COS | EXP | INT | LOG | RND | SGN | SIN | SQR | TAN
3.6.3. Семантика
Значения встроенных-функций и число аргументов каждой функции описаны в табл.1. Во всех функция X обозначает арифметическое-выражение.
Таблица 1
Функция | Значение функции |
ABS (X) | Абсолютное значение X |
ATN (X) | Арктангенс X в радианах, т.е. угол, тангенс которого равен X. Диапазоном функции является 0<ATN(X)<(pi/2), при этом pi является отношением длины окружности круга к его диаметру |
COS (X) | Косинус X, где X измеряется в радианах |
ЕХР (Х) | Экспонента X, т.е. значение основания натурального логарифма (е=2.71828…), возведенное в степень X; если ЕХР(Х) меньше машинного минимума, то ее значение заменяется нулем |
INT (X) | Наибольшее целое, не превышающее X; например, INT (1.3)=1 и INТ (-1.3)=-2 |
LOG (X) | Натуральный логарифм X; X должен быть больше нуля |
RND | Следующее псевдослучайное число во встроенной-в-реализацию последовательности псевдослучайных чисел, равномерно распределенных в диапазоне 0<RND<1 (см. также п.3.16) |
SGN (X) | Алгебраический "знак" X: - 1, если X<0; 0, если X=0 и +1, если X>0 |
SIN (X) | Синус X, где X измеряется в радианах |
SQU (X) | Неотрицательное значение квадратного корня их X; X должен быть неотрицательным |
TAN (X) | Тангенс X, где X измеряется в радианах |
3.6.4. Исключения
Значение аргумента функции LOG равно нулю или отрицательное (неустранимая ошибка).
Значение аргумента функции SQR отрицательное (неустранимая ошибка).
Величина функции экспоненты или тангенса больше машинного максимума (значение функции должно заменяться машинным максимумом; вычисления продолжаются).
3.6.5. Примечания
Функция RND в отсутствии оператора-запуска-генератора-псевдо-случайных-чисел должна генерировать одинаковую последовательность псевдослучайных чисел во время каждого выполнения программы. Это требование выбрано с той целью, чтобы программы, использующие псевдослучайные числа, выполнялись каждый раз с одним результатом.
Если значение функции-экспоненты меньше машинного минимума, то реализация должна выдать сообщение о потере точности, а затем продолжать вычисление.
Алгоритмы вычисления встроенных-функций должны быть построены таким образом, чтобы переполнение, возникшее при промежуточных вычислениях, не вызывало исключительной ситуации, если конечное значение находится в допустимом диапазоне.